我有一个小应用程序,它显示一个日志文件的内容,为了可读性而进行了一些变形。由于日志文件偶尔会被重写并且 Windows 文件系统语义禁止删除打开的文件,因此我创建了一个指向该文件的硬链接。
显然,这需要与原始文件在同一个文件系统上发生——目前,我在同一个目录中创建硬盘,我相信可以合理地假设它可以满足这个要求;结果是一个临时文件显示在用户刚刚单击打开文件的目录列表中,这很难看。
有没有办法创建硬链接以使其不显示(使用该程序的客户在其目录树中有多个连接,因此不能假设特定目录位于同一文件系统上),或者是否存在读取另一个进程可能想要删除和重写的文件的更好方法(例如,通过捕获他们的访问权限并在让其他进程的访问权限通过之前关闭文件),因此该程序可以用于存档(只读)日志文件,而无需修改?