我用Java編寫的BufferedReader與RandomAccessFile的在Java中
一個小的應用我讀了各種大小的文本文件,我需要看他們一行行(並插入行成陣列)。
就性能而言,BufferedReader.ReadLine()
和RandomAccessFile.ReadLine()
之間是否有區別?
是否有任何理由更喜歡一個或另一個?
我用Java編寫的BufferedReader與RandomAccessFile的在Java中
一個小的應用我讀了各種大小的文本文件,我需要看他們一行行(並插入行成陣列)。
就性能而言,BufferedReader.ReadLine()
和RandomAccessFile.ReadLine()
之間是否有區別?
是否有任何理由更喜歡一個或另一個?
RandomAccessFile.readLine()可能稍微快一些,因爲它忽略了字符編碼。但是它不使用緩衝並仍然使用StringBuffer:P,因此它可能會在系統上變慢。
BufferedReader.readLine()是首選,因爲它處理字符編碼,例如UTF-8或Windows-1252。
還有一個DataInputStream.readLine()可以與BufferedInputStream一起使用。只有使用這個,你可以確定你想要ISO-8859-1或ASCII編碼。
緩衝區的使用情況如何,有人寫道,BufferedReader可能會更快,因爲它使用緩衝區和RandomAccessFile不是,這是真的嗎? – choppy
好點,我可能已經和DataInputStream + BufferedInputStream混淆了。 –
*「'BufferedReader.ReadLine()'和'RandomAccessFile.ReadLine()'」*鑑於這兩種方法都不存在,它們非常相似。 ;) –
是的你是對的,但我想通過人們會明白我的意圖:-) – choppy