我必须在我的程序中读取txt文件.我目前正在使用FileReader和BufferedReader.我尝试使用Scanner,但速度比FileReader和BufferedReader慢.有没有可以更快读取文件的类?它必须用Java语言编写.
我需要从文本文件中读取所有单词(由空格分割的字符串)
如果正在读取的文件很大,那么您可能需要使用BufferedReaderon 来FileReader提高读取性能。
或者你可以尝试这样的事情:-
BufferedReader br = new BufferedReader(new FileReader("file.txt"));
try {
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
sb.append(line);
sb.append("\n");
line = br.readLine();
}
String everything = sb.toString();
} finally {
br.close();
}
Run Code Online (Sandbox Code Playgroud)
或者你可以尝试这个程序。对于较大的文件,它的工作速度更快:-
public String readDoc(File f) {
String text = "";
int read, N = 1024 * 1024;
char[] buffer = new char[N];
try {
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
while(true) {
read = br.read(buffer, 0, N);
text += new String(buffer, 0, read);
if(read < N) {
break;
}
}
} catch(Exception ex) {
ex.printStackTrace();
}
return text;
}
Run Code Online (Sandbox Code Playgroud)