读取txt文件中的行,并在Java(Android Studio)中进行比较



所以我试图读取每行有一个单词的60k行以上的文本文件(字典(,并将其与给定单词进行比较。我需要尽快完成。Y当前脚本需要5秒才能运行,这是一个非常糟糕的结果:

Scanner in = new Scanner(getResources().openRawResource(getResources().getIdentifier("dictionary", "raw", getPackageName())));
while(in.hasNext()){
String word = in.next();
if(word.equals(some_word)){
TextView text = (TextView) findViewById(R.id.text);
text.setText(word);
}
}
TextView timeTV = (TextView) findViewById(R.id.time);

我在项目的/raw文件夹中保留一个txt文件,同时搜索可能的最佳结果。

我正在考虑BufferedReader,但不知道如何将我的txt文件传递给它

使用BufferedString求解。

这是我实现它的方式,大约需要50毫秒来滚动整个单词列表:

InputStream is = getResources().openRawResource(getResources().getIdentifier("dictionary", "raw", getPackageName()));
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
try {
String line;
while ((line = reader.readLine()) != null){
if (line.equals("some_word")){
TextView text = (TextView) findViewById(R.id.text);
textt.setText(line);
break;
}
}
} catch (IOException e) {
e.printStackTrace();
}

最新更新