Java,从txt文件中读取的最快的类 [英] Java, the fastest class to read from a txt file
问题描述
我必须在我的程序中读取txt文件。我目前正在使用FileReader和BufferedReader。我尝试使用Scanner,但速度比FileReader和BufferedReader慢。有没有可以更快读取文件的类?它必须用Java语言编写。
I have to read txt files in my program. Im currently using FileReader and BufferedReader. I tried to use Scanner but its slower than FileReader and BufferedReader. Is there any class, which can read files faster ? It must be written in Java Language.
我需要从文本文件中读取所有单词(由空格分割的字符串)
I need to read all words(strings splited by white space) from text file
推荐答案
如果要读取的文件很大,那么你可以在 FileReader
BufferedReader >提高阅读效果。
If the files being read is huge then you would want to use BufferedReader
on top of a FileReader
to improve read performance.
或者你可以尝试一下这样的事情: -
or you may try something likethis:-
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();
}
或者你可以尝试这个程序。它适用于较大的文件: -
or you can try this program. It works faster for larger files:-
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;
}
这篇关于Java,从txt文件中读取的最快的类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!