要監控Java中File文件的修改時間,您可以使用java.nio.file包中的WatchService
import java.io.IOException;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
public class FileWatcher {
public static void main(String[] args) throws IOException, InterruptedException {
// 指定要監控的目錄
Path path = Paths.get("path/to/your/directory");
// 創建一個WatchService實例
WatchService watchService = FileSystems.getDefault().newWatchService();
// 注冊要監控的目錄的事件類型,這里我們監控ENTRY_MODIFY事件
path.register(watchService, StandardWatchEventKinds.ENTRY_MODIFY);
System.out.println("開始監控目錄: " + path);
while (true) {
// 獲取并處理下一個事件
WatchKey watchKey = watchService.take();
for (WatchEvent<?> event : watchKey.pollEvents()) {
WatchEvent.Kind<?> kind = event.kind();
// 如果事件類型是ENTRY_MODIFY,則輸出文件的修改時間
if (kind == StandardWatchEventKinds.ENTRY_MODIFY) {
@SuppressWarnings("unchecked")
WatchEvent<Path> pathEvent = (WatchEvent<Path>) event;
Path modifiedFile = path.resolve(pathEvent.context());
BasicFileAttributes attrs = Files.readAttributes(modifiedFile, BasicFileAttributes.class);
System.out.println("文件修改時間: " + attrs.lastModifiedTime());
}
}
// 重置WatchKey,以便繼續接收事件
boolean valid = watchKey.reset();
if (!valid) {
break;
}
}
}
}
請將path/to/your/directory替換為您要監控的目錄路徑。這個示例將監控指定目錄中文件的修改時間,并在控制臺輸出修改時間。請注意,這個示例將一直運行,直到您停止程序。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。