android 文件存储对文件名大小写不敏感

Posted epmouse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 文件存储对文件名大小写不敏感相关的知识,希望对你有一定的参考价值。

1、开发中发现,当两个文件名只有大小写的区别,其他都一样的情况,android中会默认是同一个文件。

       比如,你在同一个文件夹下有一个文件 aa.txt   重新创建一个文件命名为AA.txt  android系统会认为这俩是同一个文件,从而出现覆盖的问题。

       经测试发现,windows、Mac osx 系统也是这样的。

2、项目中遇到的问题是。创建文档时防止文件重名导致的覆盖问题。使用 file.exist()方法来判断文件是否存在,经测试发现:

       存储路径时sd卡时,该方法不区分大小写,但是路径在data/目录下时,改方法区分大小写。  但是只是该方法区分大小写,实际存入data/目录下的文件名系统还是不区分大小写,所以当文件路径是data/时,就不能使用此方法判断文件是否存在。

       

如果你有两个文件,/sdcard/file (在 SD卡)和 /data/file (在内部文件系统), 你会得到以下结果:
new File("/sdcard/file").exists(); // true
new File("/sdcard/FILE").exists(); // true, /sdcard是一个不区分大小写的文件系统 
new File("/data/file").exists(); // true
new File("/data/FILE").exists(); // false, /数据是区分大小写的文件系统

 

以上是关于android 文件存储对文件名大小写不敏感的主要内容,如果未能解决你的问题,请参考以下文章

如何在android中解析查询搜索案例不敏感?

为 iOS/Android 应用程序存储敏感数据的最佳方式是啥?

Git -- 大小写

linux大小写敏感和windows大小写不敏感(忽略大小写)导致的直接拷贝文件文件名冲突问题(需要打tar包再分享)

MySQL不区分大小写设置

MySQL不区分大小写设置