簡體   English   中英

Java:如何檢查目錄僅包含文件

[英]Java : How to Check Directory contain only file

我正在嘗試上傳僅包含csv文件的zip文件。 現在,我必須在提取文件數據之前驗證提取的目錄僅包含csv文件,而不包含包含cv文件的其他子文件夾/目錄?

您可以這樣進行:

File rootDir = new File("/my/path/to/exploded/zip/file");
boolean onlyFiles = Arrays.stream(rootDir.list())
                   .allMatch(filename -> new File(rootDir, filename).isFile());

但這只能確保rootDir下的所有文件都是文件,而不是目錄。 您可以添加另一個條件來檢查所有以.csv為擴展名的文件:

File rootDir = new File("/");
boolean onlyCsvFiles = Arrays.stream(rootDir.list())
                      .allMatch(filename -> new File(rootDir, filename).isFile() &&
                                            filename.endsWith(".csv"));

使用Java 8,您可以驗證路徑中的任何元素是否為目錄:如果在路徑C:\\ Foo中找到文件夾,則以下實現返回true

String pathString = "C:\\Foo";
Path myPath = Paths.get(pathString);
boolean f = Files.list(myPath).anyMatch(x -> Files.isDirectory(x));
System.out.println(f);

假設路徑是您的字符串。

File file = new File(path);

boolean exists =      file.exists();      // Check if the file exists
boolean isDirectory = file.isDirectory(); // Check if it's a directory
boolean isFile =      file.isFile();      // Check if it's a regular file

或者,您可以使用NIO類文件並檢查如下內容:

Path file = new File(path).toPath();

boolean exists =      Files.exists(file);        // Check if the file exists
boolean isDirectory = Files.isDirectory(file);   // Check if it's a directory
boolean isFile =      Files.isRegularFile(file); // Check if it's a regular file

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM