区分大小写的文件名处理

时间:2016-09-21 16:26:52

标签: java file

希望验证没有用于处理文件/路径引用的区分大小写的方法。

这用于查找目录中带有“.pdf”和/或“.PDF”扩展名的文件,而不知道它是大写还是小写。

java.nio.file.Files似乎没有。我能想到的唯一方法是检查两种情况或使用String.equalsIgnoreCase()

有更好的方法吗?

2 个答案:

答案 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"))

然后,您可以对流进行操作或将其收集到列表中。例如。