Android - 如何写入存储在项目文件夹中的文本文件?

时间:2015-03-11 08:50:07

标签: android

我想创建一个应用程序,用户可以将一些首选项保存到config.txt文件中。下次加载应用程序时,将从文本文件中读取配置,并将在UI中应用。

我尝试将config.txt文件放在\ res \ raw文件夹中,但后来知道如果文本文件存储在Raw中,则无法编写文本文件。我可以使用哪个文件夹将文件写入?

private final static String STORETEXT="config.txt";
OutputStreamWriter out= new OutputStreamWriter(openFileOutput(STORETEXT,0)); 
out.write(txtEditor.getText().toString()); 
out.close();

我还有两个问题:

  1. 如何在STORETEXT变量中指定/引用项目目录路径?

  2. 如果将来我需要提供我的应用程序的更新,那么新的apk的config.txt会覆盖旧的config.txt吗? (导致用户放弃以前的所有设置?)我该如何防止这种情况?

2 个答案:

答案 0 :(得分:1)

app文件夹的路径就是这个:

getFilesDir().getAbsolutePath() + "filename"

如果您更新了apk,则不会删除此文件。只有在卸载应用程序时才会删除它,而不是重新安装新版本。

但是,SharedPreferences可能是存储用户偏好的更好方法。

答案 1 :(得分:-1)

使用sharedPreference或FileOutputStream outStream = this.openFileOutput(" * .txt",Context.MODE_PRIVATE);

两个保存的路径:/ data / data /(包名称)/ files