我希望你能够用Java编程语言来检测特定文件夹/目录中是否有新的文件或文档,并使其输出目录名称和新文件名。例如,"C:\Users\User\Documents" 目录中没有任何文件,然后我从互联网上下载了一个PDF文件并将其放置在该目录中。如何使用Java编程语言确定是否在该目录中检测到新文件?您能否给我一些关于如何创建这种程序的提示?它应该是连续的或无限循环的。我尝试使用以下代码实现:
package readfilesfromfolder;
import java.io.File;
public class ReadFilesFromFolder {
public static File folder = new File("C:/Documents and Settings/My Documents/Downloads");
static String temp = "";
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Reading files under the folder "+ folder.getAbsolutePath());
listFilesForFolder(folder);
}
public static void listFilesForFolder(final File folder) {
for (final File fileEntry : folder.listFiles()) {
if (fileEntry.isDirectory()) {
listFilesForFolder(fileEntry);
} else {
if (fileEntry.isFile()) {
temp = fileEntry.getName();
if ((temp.substring(temp.lastIndexOf('.') + 1, temp.length()).toLowerCase()).equals("txt"))
System.out.println("File= " + folder.getAbsolutePath()+ "\\" + fileEntry.getName());
}
}
}
}
}
但根据结果,它只访问了目录,没有列出任何新项目。此外,它还没有进入循环,因为我还没有放置它。谢谢 :)(*注意:我还是Java编程的新手 :) *)
WatchService
:https://docs.oracle.com/javase/7/docs/api/java/nio/file/WatchService.html - Ramanlfc