默认目录,用于存储我的应用程序生成的文件

时间:2012-04-04 22:05:12

标签: android file default text-files dir

一个问题,我正在创建一个应用程序来存储带有高分数据的文本文件(.txt)。我在我的高分榜活动中用这一行创建了一个文件:

    File highscoreList = new File("highscores.txt");

它将放在哪里?在与highscores.java文件相同的目录中?或者,我应该如何指定将文本文件放在与highscores.java相同的文件夹中的目录?

1 个答案:

答案 0 :(得分:3)

您应该使用上下文方法openFileInputopenFileOutput来访问您的文件。您可以使用getFileStreamPath确定实际存储的位置。 (可以使用getFilesDir获取他们进入的目录。)使用此方法的优点是文件对您的应用程序是私有的,如果您的应用程序被卸载,将自动删除。

在您的活动中,您可以使用

创建File
File highscoreList = getFileStreamPath("highscores.txt");

如果您只想写信给它:

FileOutputStream output = null;
try {
    output = openFileOutput("highscores.txt", MODE_PRIVATE);
    // write to file
} finally {
    if (output != null) {
        try { output.close(); }
        catch (IOException e) {
            Log.w(LOG_TAG, "Error closing file!", e);
        }
    }
}

同样,对于阅读,您可以使用:

FileInputStream input = openFileInput("highscores.txt");

如果您尝试从Activity子类外部访问文件,则需要Context。 (例如,在View中,您可以使用getContext()。对于帮助程序类,您需要传入Activity实例或其他Context个对象。 )