希望验证没有用于处理文件/路径引用的区分大小写的方法。
这用于查找目录中带有“.pdf”和/或“.PDF”扩展名的文件,而不知道它是大写还是小写。
java.nio.file.Files
似乎没有。我能想到的唯一方法是检查两种情况或使用String.equalsIgnoreCase()
。
有更好的方法吗?
答案 0 :(得分:0)
你可以像apache-commons一样使用外部jar,并且无需担心扩展类型或区分大小写就读取文件
import org.apache.commons.io.FilenameUtils;
String fileNameWithOutExt = FilenameUtils.removeExtension(fileNameWithExt);
还有其他方法可以帮助您:How to get the filename without the extension in Java?
答案 1 :(得分:0)
您可以使用a 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"))
然后,您可以对流进行操作或将其收集到列表中。例如。