Java 在Android SDK中导入文本文件
在过去的几天里,我一直在尝试阅读一个文件,并尝试遵循其他答案,但都没有成功。这是我当前必须导入文本文件的代码:Java 在Android SDK中导入文本文件,java,android,import,sdk,text-files,Java,Android,Import,Sdk,Text Files,在过去的几天里,我一直在尝试阅读一个文件,并尝试遵循其他答案,但都没有成功。这是我当前必须导入文本文件的代码: public ArrayList<String> crteDict() { try { BufferedReader br = new BufferedReader (new FileReader("/program/res/raw/levels.txt")); String line;
public ArrayList<String> crteDict() {
try {
BufferedReader br = new BufferedReader
(new FileReader("/program/res/raw/levels.txt"));
String line;
while ((line = br.readLine()) != null) {
String[] linewrds = line.split(" ");
words.add(linewrds[0].toLowerCase());
// process the line.
}
br.close();
}
catch (FileNotFoundException fe){
fe.printStackTrace();
public ArrayList crteDict(){
试一试{
BufferedReader br=新的BufferedReader
(新的文件阅读器(“/program/res/raw/levels.txt”);
弦线;
而((line=br.readLine())!=null){
字符串[]linewrds=line.split(“”);
words.add(linewrds[0].toLowerCase());
//处理生产线。
}
br.close();
}
捕获(FileNotFoundException fe){
fe.printStackTrace();
它的意思是读取文本文件并创建一个长的单词数组。它总是以FileNotFoundException结尾。
请告诉我任何答案。
谢谢!如果您的文件存储在android项目的
res/raw
文件夹中,您可以按如下方式读取它,此代码必须位于活动
类中,因为this.getResources()
指的是上下文.getResources()
:
它不必在活动中,因为您可以将上下文传递给任何执行此操作的方法。我建议您更改该部分。我也将删除我的答案。您好,谢谢您的回答。它告诉我getResource对于此类型未定义。您知道我如何修复它吗?正如我前面提到的,
此
指的是上下文
对象。您在哪里添加此代码?使用.this.getResources()
或getContext().getResources()
或者如果没有任何效果,请发布您的代码/给我更多信息。还有它的getResources()
最后加上一个s
// The InputStream opens the resourceId and sends it to the buffer
InputStream is = this.getResources().openRawResource(R.raw.levels);
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String readLine = null;
try {
// While the BufferedReader readLine is not null
while ((readLine = br.readLine()) != null) {
Log.d("TEXT", readLine);
}
// Close the InputStream and BufferedReader
is.close();
br.close();
} catch (IOException e) {
e.printStackTrace();
}