Java,从txt文件中读取的最快的类

use*_*332 6 java io java-io

我必须在我的程序中读取txt文件.我目前正在使用FileReader和BufferedReader.我尝试使用Scanner,但速度比FileReader和BufferedReader慢.有没有可以更快读取文件的类?它必须用Java语言编写.

我需要从文本文件中读取所有单词(由空格分割的字符串)

Rah*_*thi 1

如果正在读取的文件很大,那么您可能需要使用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)