本文介绍了安卓java.io.File.listFiles()无法正常运行Environment.getDataDirectory()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要读文件present

(的Andr​​oid设备的数据目录),但我不能。

任何人可以帮助我就可以了。

下面是文件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()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-21 01:19