0

質問です。ハイスコアデータを含むテキストファイル(.txt)を保存するアプリを作成しています。ハイスコ​​アアクティビティから次の行を使用してファイルを作成しました。

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

どこに配置されますか?highscores.javaファイルと同じディレクトリにありますか?または、テキストファイルをhighscores.javaと同じフォルダーに配置するディレクトリを指定するにはどうすればよいですか?

4

1 に答える 1

3

openFileInputContextメソッドとを使用してファイルにアクセスする必要がありますopenFileOutput。を使用して、それらが実際に保存されている場所を判別できます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オブジェクトを渡す必要があります。)

于 2012-04-04T22:08:20.347 に答える