Java,从txt文件中读取的最快的类 [英] Java, the fastest class to read from a txt file

查看:655
本文介绍了Java,从txt文件中读取的最快的类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我必须在我的程序中读取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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆