在哪里放置设置文件?

时间:2014-06-20 03:24:20

标签: java android file save filewriter

好的,所以我有一个Android应用程序的几个数据文件。这些文件包含每个项目和变量的列表,所以我认为使用“Key-Value”方法不会很好。

我最初将文件放在“raw”文件夹中,但后来我了解到你无法写入该位置,而且这个文件确实需要可更新。我现在从(afaik)读取和写入我的程序的内部存储的根目录(文件文件=新文件(getApplicationContext()。getFilesDir(),“settings.txt”);),这是正常的。但我希望能够做的是在安装/更新应用程序时放置一个默认设置文件。

例如,当我使用“raw”文件夹时,我可以将一个文件放在我的计算机上的“raw”目录中,并在运行应用程序时显示它。我可以通过我的应用程序也可以写入的位置获得此行为,如果是,如何?

编辑:确定尝试澄清,我正在寻找的是我能找到的位置 a)让我的应用程序读取和写入我手机上的数据 b)安装/更新应用程序时,可以在该位置放置一个文件,就像您可以将文件放在PC上的原始文件夹中,让您的应用程序能够阅读它。

我只是想知道这是否可行。

1 个答案:

答案 0 :(得分:0)

据我所知,您可以在应用程序的根目录中创建一个文件夹来保存文件。从那里,您应该能够创建,阅读,更新和删除文件。

File dir = new File(getApplicationContext().getFilesDir(),"directory name");
if(!dir.exists()) {
    try {
        dir.mkdir();
    } catch (SecurityException e) {
        //deal with exception
    }
}
File settings = new File(dir, "settings.txt");
if(!settings.exists()) {
    try {
        settings.createNewFile();
    } catch (SecurityException e) {
        //deal with exception
    }
}

也许这对你有用吗?

android可能会抛出它自己的SecurityException形式


我建议你创建一个创建,读取和写入settings.txt文件的Java类。如果您想让该类也创建一个默认的settings.txt文件,并且如果settings.txt文件已经存在,则将该文件写入所选的文件夹。