我有一個目錄,我在其中接收作為 XML 檔案的訂單。我想決議這個檔案,然后用它做一些事情。我可以設定一個計劃的作業來每隔 * 秒檢查一次這個目錄。我想用它來決議檔案:
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = builder.parse(new File("src/test/resources/example_jdom.xml"));
doc.getDocumentElement().normalize();
問題是,我不知道檔案名。我知道 XML 檔案將出現的位置,但我不知道該檔案將如何命名。
當我設定路徑時如何解決這個問題?因為如果我愿意,我可以每毫秒運行一次預定的作業,所以 2 個檔案同時出現的 chanches 已經過時了。
感謝您的反饋意見。
uj5u.com熱心網友回復:
如果您知道檔案結束的目錄,您可以列出它的內容,如下所示:
File dir = new File("/your/path");
System.out.println(dir.listFiles());
這應該讓您了解可用于決議的內容。另請參閱https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/File.html#listFiles()
uj5u.com熱心網友回復:
一個天真的方法是你得到直接的串列。
- 獲取第一個檔案
- 如果檔案已被處理,請查看資料庫
- 如果檔案名不存在,則處理它。
- 處理后,將檔案名和時間戳添加到資料庫中。
- 對下一個檔案執行相同的操作。
如果您使用的是 Java 8,以下代碼可以幫助您從目錄中獲取資訊。
try (Stream<Path> walk = Files.walk(Paths.get("C:\\test"))) {
result = walk
.filter(p -> !Files.isDirectory(p)) // not a directory
.map(p -> p.toString().toLowerCase()) // convert path to string
.filter(f -> f.endsWith("png")) // check end with
.collect(Collectors.toList()); // collect all matched to a List
}
查看以下鏈接以獲取完整示例: https ://mkyong.com/java/how-to-find-files-with-certain-extension-only/
我的意思是你會發現很多關于如何獲取檔案名串列的教程,如果你只對 XML 檔案感興趣,你可以相應地調整它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/460767.html
