在做文件管理时, 要读取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有没有遇到类似的情况, 是什么原因呢?

解决方案 »

  1.   

    Android下文件名最长只能支持127个中文,不超过255个字符
      

  2.   

    那就是和浏览器中url的长度一样
      

  3.   

    路径名改一下看看:
    File f = new File("/sdcard/myFile");
      

  4.   

    经测试,windows系统下最长文件名为255个字符,在android下可以正常读到,可以正常显示,只能说明你程序有问题。
      

  5.   

    读取目录的代码就这两行:
    File f = new File("F:\myFile");//xp路径(该目录下的文件能完全读取出来)  
    File f = new File("/mnt/sdcard/myFile");//Android SD卡路径(只能读到15个名字正常的文件.其他的都读取不到)
    String [] fs = f.list(); 
    真的看不出有什么问题. 
      

  6.   

    关键的问题不在于那2行代码,那2行代码应该是不会错的,你要检查将读到的文件显示出来的这个程序。android一般自带一个资源管理器,可用这个资源管理器查看一下。
      

  7.   

    "/mnt/sdcard/myFile" 不要这样写路径!
      

  8.   

    请问楼主,现在此问题是如何解决的?我现在也遇到这个问题。一旦在某个目录下多创建几个长文件目录后就会出现之后创建的目录都显示不出来的问题。但是其实这些文件夹都是被创建的了,只是在android显示不出来。我改用放到mtk手机上就可以显示出来....求解啊~~~