[英]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.