簡體   English   中英

區分大小寫的文件名處理

[英]case-sensitive processing of file names

希望驗證沒有用於處理文件/路徑引用的區分大小寫的方法。

這用於查找目錄中具有“.pdf”和/或“.PDF”擴展名的文件,而不知道它是大寫還是小寫。

java.nio.file.Files似乎沒有它。 我能想到的唯一方法是檢查兩種情況或使用String.equalsIgnoreCase()

有更好的方法嗎?

您可以使用像apache-commons這樣的外部jar,並在不關心擴展類型或區分大小寫的情況下讀取文件

import org.apache.commons.io.FilenameUtils;
String fileNameWithOutExt = FilenameUtils.removeExtension(fileNameWithExt);

還有其他方法可以幫助你: 如何獲得沒有Java擴展名的文件名?

您可以使用FileNameFilter ,例如:

File folder = Paths.get("/path/to/folder").toFile();
String[] pdfs = folder.list((dir, name) -> name.endsWith(".pdf") || name.endsWith(".PDF"));

或者,您可以使用Files::list

Files.list(Paths.get("c:/temp"))
     .filter(p -> p.getFileName().toString().endsWith(".pdf") ||
                  p.getFileName().toString().endsWith(".PDF"))

然后,您可以對流進行操作或將其收集到列表中。

暫無
暫無

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

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