我有愚蠢的问题,但我不专业。我正在尝试用Java创建一个日志阅读器,它将从目录中读取日志。它必须识别错误,信息和警告。在这种情况下,哪种解决方案最好(最快):带BufferedReader的FileInputStream或带BufferedReader的FileReader?或者别的什么。
答案 0 :(得分:2)
BufferedReader in = new BufferedReader(new FileReader("log.txt"));
String line1 = in.readLine();
的速度和你一样快。 BufferedReader
缓冲您的输入,因此比简单地使用FileReader
更快。如果您想知道,Scanner
明显慢于BufferedReader
。
答案 1 :(得分:1)
要在FileInputStream或FileReader之间进行选择,它取决于您要使用的内容 - bytes(FileInputStream)或text / characters'a','b',...(FileReader)。如果您将日志文件作为纯文本,则使用FileReader是有意义的。
请注意,FileReader使用编码,读取JavaDoc。