【问题标题】:Default dir to store a file that my app makes存储我的应用程序制作的文件的默认目录
【发布时间】:2012-04-04 22:05:11
【问题描述】:

一个问题,我正在制作一个应用程序,它将存储一个包含高分数据的文本文件 (.txt)。我从我的高分活动中用这一行制作了一个文件:

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

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

【问题讨论】:

    标签: android file default text-files dir


    【解决方案1】:

    您应该使用上下文方法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 对象。)

    【讨论】:

    • 好吧,我没完全理解。你能澄清一下吗?
    猜你喜欢
    • 1970-01-01
    • 2015-10-07
    • 2023-04-06
    • 2016-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-14
    • 2017-01-02
    相关资源
    最近更新 更多