2012-04-04 35 views
0

一個問題,我正在創建一個應用程序,它將存儲具有高分數據的文本文件(.txt)。我從我的高分活動中創建了這條線的文件:默認目錄存儲我的應用程序生成的文件

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

它將放置在哪裏?在與highscores.java文件相同的目錄中?或者,我應該如何指定一個將文本文件放在與highscores.java相同的文件夾中的目錄?

回答

3

您應該使用Context方法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對象傳遞。)

+0

好吧,我沒有完全理解這一點。你能否澄清一點? – user1258829 2012-04-04 22:10:23

+0

@ user1258829 - 我添加了一些示例代碼 – 2012-04-04 22:15:49

相關問題