我正在创建一个用户从中选择文件的应用程序:
FilePicker.PickFile(filename)
哪里filename
是一个字符串.
在该方法中,它将转换为:
File file = new File(filename);
这并没有错.接下来,我做,
if(file.exists()){
System.out.println(file.getName());
}
else{
System.out.println("Fail.");
}
Run Code Online (Sandbox Code Playgroud)
这就是问题的开始.我想得到文件的名称,比如"HELLO.txt",但如果filename
是"hello.txt",它仍然通过file.exists()
检查,并file.getName()
返回"hello.txt",而不是"HELLO.txt".有没有办法,file.getName()
作为区分大小写的版本返回"HELLO.txt?" 谢谢!
一个例子:
HELLO.txt is the real file
FilePicker.PickFile("hello.txt");
OUTPUT:
hello.txt
当您使用Windows(保留大小写(FAT32/NTFS/..))时,您可以使用获取所选文件的规范名称.file.getCanonicalFile()
.getName()
当你使用Linux或Android,并要选择基于这并不一定匹配情况下,文件名的文件,所有文件遍历该文件的目录(file.getParent()
),并挑选一个.equalsIgnoreCase
了filename
.或者在区分大小写的文件系统上查看不区分大小写的File.equals
归档时间: |
|
查看次数: |
8048 次 |
最近记录: |