编写并保存文件并将其打开

时间:2018-05-03 12:30:41

标签: java android

所以我的主要想法是在res / raw目录中打开一个上传的文件,编辑它,保存并重新打开它。但我还需要一个函数来设置默认值(用默认值覆盖csv文件),所以我需要2个文件,默认的文件和另一个我编辑和阅读的文件。 是不是你不能写文件并将其存储在res / raw目录中?如果是,那么在这种情况下,最好的方法是什么?我应该将所有内容保存在内部/外部存储器中,然后从此处打开它吗?

try {
    FileOutputStream fileOut = openFileOutput("C:\\Users\\textfile.csv", MODE_WORLD_WRITEABLE);
    OutputStreamWriter outputWriter = new OutputStreamWriter(fileOut);
    for (int b = 0; b < test.AddName("Karlos",1,1,vardadienas).size(); b++) {
        outputWriter.write(test.AddName("Karlos",1,1,vardadienas).get(b));
        outputWriter.write("\n");
    }
    outputWriter.close();

} catch (Exception e) {
    e.printStackTrace();
}

我使用 getResources()方法并读取文件(在资源文件夹中上传),将其保存在列表数组中,编辑数组然后我应该保存,但在哪里?还有为什么这个方法不会创建任何文件?我设置了路径,但它没有创建任何东西..

我也遇到了这个错误:

  

在android.content.ContextWrapper.openFileOutput(ContextWrapper.java:201)
  在com.example.firstapp.firstapp.MainActivity.onCreate(MainActivity.java:86)

1 个答案:

答案 0 :(得分:1)

你不能写入res / raw,因为它是apk文件的一部分。

但您可以从res / raw ant中读取,然后在应用程序的本地和私有存储中写入该文件的副本。

然后,无论您计划如何处理res / raw中的文件,您都可以在本地存储副本中执行此操作。