本文介绍了安卓java.io.File.listFiles()无法正常运行Environment.getDataDirectory()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我要读文件present
(的Android设备的数据目录),但我不能。
任何人可以帮助我就可以了。
下面是文件code:
文件å文件=新的文件(Environment.getDataDirectory(),/);
档案文件=新的文件(Environment.getExternalStorageDirectory(),/filelist.txt);
公共无效过程(文件å文件){
spc_count ++;
尝试 {
FOS =新的FileOutputStream(文件,真正的);
的for(int i = 0; I< spc_count;我++)
SPCS + =;
如果(aFile.isFile()){
fos.write(aFile.getPath()的GetBytes());
fos.write('|');
}
否则如果(aFile.isDirectory()){
文件[] listOfFiles = aFile.listFiles();
如果(listOfFiles!= NULL){
对于(INT J = 0; J< listOfFiles.length; J ++)
流程(listOfFiles [J]);
} 其他 {
//System.out.println(spcs +[拒绝访问]);
}
}
spc_count--;
fos.flush();
fos.close();
}赶上(FileNotFoundException异常E){
//处理异常
}赶上(IOException异常E){
//处理异常
}
}
解决方案
那是因为你没有读访问该目录。
I want to read file present on
(data directory of android device) but I can't.
Can anybody help me on it.
Here is file code:
File aFile = new File(Environment.getDataDirectory(), "/");
File file = new File(Environment.getExternalStorageDirectory(), "/filelist.txt");
public void Process(File aFile) {
spc_count++;
try {
fos = new FileOutputStream(file,true);
for (int i = 0; i < spc_count; i++)
spcs += " ";
if(aFile.isFile()){
fos.write(aFile.getPath().getBytes());
fos.write('|');
}
else if (aFile.isDirectory()) {
File[] listOfFiles = aFile.listFiles();
if(listOfFiles!=null) {
for (int j = 0; j < listOfFiles.length; j++)
Process(listOfFiles[j]);
} else {
//System.out.println(spcs + " [ACCESS DENIED]");
}
}
spc_count--;
fos.flush();
fos.close();
} catch (FileNotFoundException e) {
// handle exception
} catch (IOException e) {
// handle exception
}
}
解决方案
That is because you do not have read access to that directory.
这篇关于安卓java.io.File.listFiles()无法正常运行Environment.getDataDirectory()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!