如何检测文件系统是否区分大小写?
我有一个来自文件夹的文件名的 List
以及某个文件名 String
。我想检测文件名是否在列表中,但需要尊重底层文件系统是否区分大小写的属性。
有没有什么简单的方法可以做到这一点(除了检查 System.getProperty("os.name", "").toLowerCase().indexOf("windows")!=-1
System.getProperty("os.name", "").toLowerCase().indexOf("windows")!=-1)? ;-)
I have a List<String>
of file names from a folder and a certain file name as String
. I want to detect whether the file name is in the list, but need to respect the underlying file system's property of whether it is case-sensitive.
Is there any easy way to do this (other than the "hack" of checking System.getProperty("os.name", "").toLowerCase().indexOf("windows")!=-1
)? ;-)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
不要使用字符串来表示您的文件;使用 java.io.File:
http://java.sun.com/javase/6/docs/api/java/io/File.html#equals(java.lang.Object)
Don't use Strings to represent your files; use java.io.File:
http://java.sun.com/javase/6/docs/api/java/io/File.html#equals(java.lang.Object)
看起来您可以使用
IOCase
。It looks like you can use the
IOCase
.编写一个名为“HelloWorld”的文件;尝试读取名为“hELLOwORLD”的文件?
Write a file named "HelloWorld"; attempt to read a file named "hELLOwORLD"?
我认为现有的任何示例都无法正确处理此问题,您需要将文件写入磁盘。
I don't think any of the existing examples actually handle this properly, you need to write the file to disk.
您可以使用以下静态方法:
按如下方式使用:
注意提供的不同卷(Case-sensitive-Volume 与 Case-insensitve-Volume)。
You can use the following static method:
Use it as follows:
Note the different volumes provided (Case-sensitive-Volume vs. Case-insensitve-Volume).