一个问题,我正在制作一个应用程序,它将存储一个带有高分数据的文本文件(.txt)。我从我的高分活动中用这一行制作了一个文件:
File highscoreList = new File("highscores.txt");
它将被放置在哪里?在与 highscores.java 文件相同的目录中?或者,我应该如何指定将文本文件放在与 highscores.java 相同的文件夹中的目录?
一个问题,我正在制作一个应用程序,它将存储一个带有高分数据的文本文件(.txt)。我从我的高分活动中用这一行制作了一个文件:
File highscoreList = new File("highscores.txt");
它将被放置在哪里?在与 highscores.java 文件相同的目录中?或者,我应该如何指定将文本文件放在与 highscores.java 相同的文件夹中的目录?
您应该使用 Context 方法openFileInput
和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
例如,在 a 中,您可以使用getContext()
。对于辅助类,您需要传入您的Activity
实例或其他Context
对象。)