我想逐行处理计算机生成的日志文件。不幸的是,该文件是使用CP1252创建的(Notepad ++使用BOM报告它的UCS-2 LE)。令我遗憾的是,我无法在文件的行中找到子字符串。
for (String s : Files.readAllLines(Paths.get("sample.log"), Charset.forName("Cp1252"))) {
if (s.contains("INFO"))
System.out.println(s);
}
失败,很可能是因为从文件读取的字符串每个字符包含2个字节,似乎没有得到正确处理。
假设读取部分是错误的:我应该如何阅读该文件,以便在进一步的字符串操作时不会出现问题?