我有一个字符串形式的文件路径。在 Java 中,我需要确定该文件是否存在于文件系统中(并且我们的代码需要跨平台,因为它可以在 Windows、Linux 和 OS X 上运行)。
问题是文件路径的大小写和文件本身可能不匹配,即使它们确实表示相同的文件(大概这是因为它们起源于 Windows 并且没有注意到差异)。
例如,我有一个文件路径“ABC.txt”。文件系统中存在名为“abc.txt”的文件。以下代码将在 Windows 上返回 true,但在 Linux 上返回 false:
new File("ABC.txt").exists();
确定文件是否存在的最佳方法是什么,如果存在则返回文件系统上文件的句柄?
最佳答案
从目录 (File.list()
) 中获取文件列表并使用 equalsIgnoreCase()
比较名称。
关于java - 不区分大小写的 File.equals 在区分大小写的文件系统上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1297879/