Android在内部存储上创建文件

时间:2015-07-23 13:50:05

标签: android

我正在尝试在.txt中创建一个android文件,我已经测试了很多选项如何实现这一点,我认为该文件已创建但我无法找到它,它应该以某种方式在公共目录中公开,我可以访问它。

示例:

cacheFile = new java.io.File(getFilesDir(), "cache.txt");
        if(cacheFile.exists() && !cacheFile.isDirectory()) {
            try {
                writer = new FileWriter(cacheFile);
                BufferedReader br = new BufferedReader(new FileReader(cacheFile));
                String tempo;
                while((tempo = br.readLine()) != null){
                    Log.i("TEST","Reading from cache "+tempo);
                    if (tempo.contains("http")) {
                        musicUrl.add(tempo);
                    }
                    else {
                        myDataList.add(tempo);
                    }
                }
            } catch (IOException e) {
                e.printStackTrace();
            } 
        }
        else {
            try {
                Log.i("TEST", "Creating the cache ? " + cacheFile.createNewFile() + " in " + getFilesDir());
                writer = new FileWriter(cacheFile);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

我尝试过其他选项:Android File on Internal Storage not found

1 个答案:

答案 0 :(得分:1)

您应该使用以下其中一项:

getExternalFilesDir()
getExternalStoargeDir()

第一个将在/sdcard/android/app.package/file中创建一个文件 第二个将是/sdcard/

的根

您当前正在进行的调用getFilesDir()正在返回/data/data/app.package/file中的路径,该路径无法访问您的应用程序以外的任何内容。