不是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

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...