her*_*rtD 10 android file exists case-sensitive mkdir
我创建了一个新文件夹"sdcard/dd ":
File album = new File(albumPath);
if (album.exists()) {
Log.d(TAG, albumPath + " already exists.");
} else {
boolean bFile = album.mkdir();
}
Run Code Online (Sandbox Code Playgroud)
再次,我用相同的代码创建第二个文件夹"sdcard/DD ",但是,这次album.exists()返回true,表示"dd"等于"DD".
任何人都知道为什么File.exists()不能检查文件夹名称的情况?谢谢!
Frx*_*rem 31
虽然Linux,因此也是Android,在文件名方面通常是区分大小写的,但是常常用于SD卡,记忆棒等的FAT文件系统不区分大小写.因此,Android在处理这些文件系统上的文件时不会区分这些情况.
因此,如果您有两个文件/sdcard/file(在SD卡上)和/data/file(在内部文件系统上),您将获得以下结果:
new File("/sdcard/file").exists(); // true
new File("/sdcard/FILE").exists(); // true, /sdcard is a case-insensitive file system
new File("/data/file").exists(); // true
new File("/data/FILE").exists(); // false, /data is a case-sensitive file system
Run Code Online (Sandbox Code Playgroud)