【发布时间】:2014-03-30 20:02:30
【问题描述】:
从文件中读取输入的最有效方法是什么?
我有一个非常大的文件,其中包含一个由换行符分隔的单词列表
例如
computer
science
is
fun
really
我正在考虑使用 BufferedReader 对象,但是我对文档中的这一行感到困惑。
“一般来说,由 Reader 发出的每个读取请求都会导致对底层字符或字节流发出相应的读取请求。因此,建议将 BufferedReader 包装在 read() 操作可能成本高昂的任何 Reader 周围,例如 FileReaders 和 InputStreamReaders。例如,
BufferedReader in = new BufferedReader(new FileReader("foo.in"));将缓冲来自指定文件的输入。如果没有缓冲,每次调用 read() 或 readLine() 都可能导致从文件中读取字节,转换为字符,然后返回,这可能非常低效。 "
有人可以向我解释一下吗?
在第二次阅读时,我开始相信BufferedReader 是我最好的选择。有没有更好的办法?
【问题讨论】:
-
该建议与文件大小无关。
-
请阅读this answer 我写了另一个问题。您误解了
BufferedReader是什么。这是一个decorator,它实际上并没有读取任何东西。 -
解释一下什么?你有什么不明白的?
标签: java file bufferedreader