如果我想阅读内容,我在哪里将某个文本文件放在Eclipse的项目中?
我应该使用哪些对象?
我尝试使用以下语法,但无法找到该文件?也许在这种情况下使用计算机文件系统?
private void read() throws FileNotFoundException, IOException {
File file = new File("test.txt");
FileReader fileReader = new FileReader(file);
BufferedReader buffReader = new BufferedReader(fileReader);
String[] stringBuffer = new String[2];
String line;
int i = 0;
while ( (line = buffReader.readLine()) != null) {
stringBuffer[i] = line;
i++;
}
System.out.println(stringBuffer[0] + stringBuffer[1]);
}
我的想法是搜索从项目的根文件夹开始,但我猜它完全错了,因为使用了计算机文件系统?
答案 0 :(得分:4)
如果要在构建时将此文件与Android应用程序捆绑在一起,则有两种选择:/raw
下的/res
文件夹或/assets
文件夹。您应该将文件放在此处,并以正确的方式访问所选目录。有关更多信息,请阅读有关Android项目here的内置文件夹的详细信息。
例如,如果将文本文件存储在/assets/
中,这很可能是文本文件的正确位置,则需要使用AssetManager
访问文件的内容。我们假设你创建了一个名为:
/assets/test.txt
您可以这样访问该文件,假设您是从活动中执行此操作,以便this
关键字指向您的活动:
AssetManager assetManager = this.getResources().getAssets();
InputStream input = assetManager.open("test.txt");
现在,您可以使用该输入流以类似于原始问题的方式从文件中读取。您可以使用该InputStream创建BufferedReader,如下所示,假设您的文本内容以UTF-8编码:
BufferedReader br =
new BufferedReader(new InputStreamReader(input, "UTF-8"));