无法在Android,只读文件系统中写入文件

时间:2011-10-28 21:06:40

标签: java android filestream filewriter bufferedwriter

我正在尝试在Android中编写文件。

private void writeScoreToFile(BlastScore result)
    {
        try{
            FileWriter fstream = new FileWriter(CaptureActivity.BLAST_SCORES,true);
            BufferedWriter out = new BufferedWriter(fstream);
            out.write(Integer.toString(result.getBlastScore()));
            out.close();
        }catch (Exception e){
            System.err.println("Write Error: " + e.getMessage());
        }
    }

我收到错误:

10-28 21:04:11.200: W/System.err(669): Write Error: /BlastScores.txt (Read-only file system)

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

您正在尝试写入根目录。您可能希望写入应用程序的目录,而不是root。

为此,请使用Context.openFileInputContext.openFileOutput代替new FileWriter

答案 1 :(得分:0)

根据错误,它尝试将文件写入文件系统根目录。您的应用程序只允许写入特定文件夹。

在一篇文章中找到了这个:

/data/data/your_project_package_structure/files/