目录有中文名文件时使用listFiles()函数会出错
最近做一个程序,想获取SD卡里的文件列表,使用以下的代码去获取文件名。
file=Environment.getExternalStorageDirectory();
File[] files = file.listFiles();// 读取
英文或者数字文件名没关系,但是我使用adb push了一个中文名的.txt文件后。
去获取文件名时就报错。
01-01 08:57:41.593: A/art(24619): art/runtime/java_vm_ext.cc:410] JNI DETECTED ERROR IN APPLICATION: input is not valid Modified UTF-8: illegal continuation byte 0xc2
01-01 08:57:41.593: A/art(24619): art/runtime/java_vm_ext.cc:410] string: '<此处一堆乱码,论坛不能发特殊字符>.txt'
01-01 08:57:41.593: A/art(24619): art/runtime/java_vm_ext.cc:410] in call to NewStringUTF
01-01 08:57:41.593: A/art(24619): art/runtime/java_vm_ext.cc:410] from java.lang.String[] java.io.File.listImpl(java.lang.String)
网上找了一圈,没找到解决方法。
求解决方法。