2011-07-07 59 views
2

我有一個愚蠢的問題,但我不專業。我正在嘗試在Java中創建日誌讀取器,它將從目錄中讀取日誌。它必須識別錯誤,信息和警告。在這種情況下哪個解決方案最好(最快):使用BufferedReader的FileInputStream或使用BufferedReader的FileReader?或者也許別的東西。如何讀取日誌文件並解析Java中的條目?

+0

可能重複的[Web日誌分析在Java](http://stackoverflow.com/questions/131176/web-log-analysis-in-java) –

+0

不是真的。 OP是要求從文件中讀取最快的方法,而不是實時讀取文件的方式。 – tskuzzy

回答

2
BufferedReader in = new BufferedReader(new FileReader("log.txt")); 
String line1 = in.readLine(); 

的速度與您所能得到的一樣快。 BufferedReader緩衝您的輸入,因此比簡單地使用FileReader更快。如果您想知道,Scanner明顯比BufferedReader要慢。

1

對於一個FileInputStream或的FileReader之間進行選擇,這取決於您要使用什麼 - 字節(的FileInputStream)或文本/字符 'A', 'B',......(的FileReader)。如果您將日誌文件設置爲純文本格式,那麼使用FileReader是有意義的。

請注意,FileReader使用一種編碼,讀取JavaDoc。