Android无法读取SD卡中名字太长的文件疑问

wqhjfree 2012-05-04 08:30:00
在做文件管理时, 要读取sd卡某个目录下的录音文件: 该目录下总共有25个文件. 现在修改其中6个文件为中文, 并且件名字长度为XP下文件名字的最大限制 , 在android上加载该sd卡目录下的所有文件, 发现名字被修改到最大限度的文件没有加载进来,并且还有几个名字正常的文件也没加载进来. 读取文件的代码是:
File f = new File("F:\myFile");//xp路径
File f = new File("/mnt/sdcard/myFile");//Android SD卡路径
String [] fs = f.list();
同样的代码, 在XP下f.list()返回的文件数是25个, 而在Android SD下返回的只有15个, 其中那个几个被改名到最大长度的文件没被加载. 还有另外四个名字正常的文件也没被加载.
请问下各位帅锅MM有没有遇到类似的情况, 是什么原因呢?
...全文
995 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
RichardHuang87 2012-12-06
  • 打赏
  • 举报
回复
请问楼主,现在此问题是如何解决的?我现在也遇到这个问题。一旦在某个目录下多创建几个长文件目录后就会出现之后创建的目录都显示不出来的问题。但是其实这些文件夹都是被创建的了,只是在android显示不出来。我改用放到mtk手机上就可以显示出来....求解啊~~~
veryitman 2012-05-06
  • 打赏
  • 举报
回复
"/mnt/sdcard/myFile" 不要这样写路径!
wqhjfree 2012-05-05
  • 打赏
  • 举报
回复
我用第三方文件管理器(如:ES文件管理)浏览该目录的文件, 发现也出现同样的问题. 只加载了15个文件, 名字过长和另外四个名字正常的文件都没加载到.[Quote=引用 9 楼 的回复:]

关键的问题不在于那2行代码,那2行代码应该是不会错的,你要检查将读到的文件显示出来的这个程序。android一般自带一个资源管理器,可用这个资源管理器查看一下。
[/Quote]
AMinfo 2012-05-05
  • 打赏
  • 举报
回复
关键的问题不在于那2行代码,那2行代码应该是不会错的,你要检查将读到的文件显示出来的这个程序。android一般自带一个资源管理器,可用这个资源管理器查看一下。
wqhjfree 2012-05-05
  • 打赏
  • 举报
回复
读取目录的代码就这两行:
File f = new File("F:\myFile");//xp路径(该目录下的文件能完全读取出来)
File f = new File("/mnt/sdcard/myFile");//Android SD卡路径(只能读到15个名字正常的文件.其他的都读取不到)
String [] fs = f.list();
真的看不出有什么问题.

[Quote=引用 7 楼 的回复:]

经测试,windows系统下最长文件名为255个字符,在android下可以正常读到,可以正常显示,只能说明你程序有问题。
[/Quote]
AMinfo 2012-05-05
  • 打赏
  • 举报
回复
经测试,windows系统下最长文件名为255个字符,在android下可以正常读到,可以正常显示,只能说明你程序有问题。
wqhjfree 2012-05-05
  • 打赏
  • 举报
回复
试了下 , 另外4个名字正常的文件还是没读取出来.[Quote=引用 5 楼 的回复:]

路径名改一下看看:
File f = new File("/sdcard/myFile");
[/Quote]
AMinfo 2012-05-05
  • 打赏
  • 举报
回复
路径名改一下看看:
File f = new File("/sdcard/myFile");
wqhjfree 2012-05-05
  • 打赏
  • 举报
回复
但是, 为什么连另外4个名字正常的文件都没读取到呢[Quote=引用楼主 的回复:]
在做文件管理时, 要读取sd卡某个目录下的录音文件: 该目录下总共有25个文件. 现在修改其中6个文件为中文, 并且件名字长度为XP下文件名字的最大限制 , 在android上加载该sd卡目录下的所有文件, 发现名字被修改到最大限度的文件没有加载进来,并且还有几个名字正常的文件也没加载进来. 读取文件的代码是:
File f = new File("F:\myFile");//……
[/Quote]
ameyume 2012-05-04
  • 打赏
  • 举报
回复
那就是和浏览器中url的长度一样
AMinfo 2012-05-04
  • 打赏
  • 举报
回复
XP下的好像最长是256个字符。
AMinfo 2012-05-04
  • 打赏
  • 举报
回复
Android下文件名最长只能支持127个中文,不超过255个字符

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧