安卓java.io.File.listFiles()无法正常运行Environment.getDataDirectory()正常运行、File、java、io

由网友(爷丶受亽跪拜)分享简介:我要读文件present Environment.getDataDirectory()(的Andr​​oid设备的数据目录),但我不能。任何人可以帮助我就可以了。下面是文件code:文件å文件=新的文件(Environment.getDataDirectory(),/);档案文件=新的文件(Environment.g...

我要读文件present

  

Environment.getDataDirectory()

(的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){
        //处理异常
    }
}
 

解决方案

那是因为你没有读访问该目录。

安卓开发者要从Java转到Kotlin吗 谷歌说后者支持更多

I want to read file present on

Environment.getDataDirectory()

(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.

阅读全文

相关推荐

最新文章