读取和写入文件后,项目符号点将替换为符号不可读的文本"�"
。这是代码:
String str = FileUtils.readFileToString(new File(sourcePath), "UTF-8");
nextTextFile.append(redactStrings(str, redactedStrings));
FileUtils.writeStringToFile(new File(targetPath), nextTextFile.toString());
答案 0 :(得分:0)
我在Windows上将其签出,如果源文件是使用UTF-8编码的,则以下代码将向控制台和文件生成所需的输出,然后也将其也以UTF-8编码,以供使用之java.nio
:
public static void main(String[] args) {
Path inPath = Paths.get(sourcePath);
Path outPath = Paths.get(targetPath);
try {
List<String> lines = Files.readAllLines(inPath, StandardCharsets.UTF_8);
lines.forEach(line -> {
System.out.println(line);
});
Files.write(outPath, lines, StandardCharsets.UTF_8);
} catch (IOException e) {
e.printStackTrace();
}
}
请注意,源文件必须使用UTF-8编码,否则可能会抛出IOException
,内容类似于Input length = 1
。如果StandardCharsets
不符合您的要求,请尝试使用它,或者确保源文件的编码为UTF-8 。