文件系统监视器:忽略临时和幽灵文件的创建

3
我在Java中实现了一个观察者服务,用于监控文件夹的变化。每当一个Word文件被创建、修改或删除时,它都会创建许多临时文件和幽灵文件。我的问题是如何忽略这些文件?我尝试查看它们是否为隐藏文件,但它们并不是。我希望有一个适用于所有应用程序而非仅限于Microsoft Word的解决方案。谢谢。

单词的临时文件末尾会带有(如果我没记错),我相信整个Microsoft Office套件都是这样,但是每个程序都有自己的临时文件约定。 - ratchet freak
1个回答

1

我的快速测试显示相反:无论是DOS shell还是Java IO API都表明Word的tmp文件是隐藏的,即:

DIR /A:H 

列出Word临时文件。

以下简单的测试程序将报告Word临时文件为隐藏文件:

import java.io.File;

public class Hidden{
   public static void main(String[] args){
      File dir = new File(args[0]);
      for (File file : dir.listFiles()){
         System.out.println(file + " is hidden? " + file.isHidden());
      }     
   }
}

测试环境:WinXP Professional + JDK 1.6


1
这并不完全正确。 当“FileSystemWatcher”指示文件“wrdxxxx.tmp”的创建时, “DIR /A:H”显示另一个东西“$b ...docx”, 而“~wrdxxxx.tmp”似乎是一个未隐藏的文件。 - Idan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接