java中的BufferedReader与RandomAccessFile

cho*_*ppy 7 java file-io file readline bufferedreader

我正在用java编写一个小应用程序

我读了各种大小的文本文件,我需要逐行读取它们(并将行插入数组).
是否有差异BufferedReader.ReadLine(),并RandomAccessFile.ReadLine()在性能方面?

有没有理由更喜欢其中一个?

Pet*_*rey 6

RandomAccessFile.readLine()可能稍快,因为它忽略了字符编码.但是它不使用缓冲并且仍然使用StringBuffer:P因此它可能在您的系统上更慢.

BufferedReader.readLine()是首选,因为它处理字符编码,例如UTF-8或Windows-1252.

还有一个DataInputStream.readLine()可以与BufferedInputStream一起使用.只有这样才能确保您需要ISO-8859-1或ASCII编码.