微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

不是Android File.exists()区分大小写?

我已经创建了一个新的文件夹“sdcard / dd”:
File album = new File(albumPath);

if (album.exists()) {
   Log.d(TAG,albumPath + " already exists.");
} else {
   boolean bFile = album.mkdir();
}

而且,我创建第二个文件夹“sdcard / DD”由相同的代码,但是,这次album.exists()返回true,这表示“dd”是等于“DD”.

任何人都知道为什么File.exists()不能检查文件名称的大小写?谢谢!

解决方法

虽然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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐