我需要将结果字符串逐行打印到TXT文件中。 这是我的代码:
try {
String result = instance.doOCR(imageFile);
FileWriter writer = new FileWriter("C:\\testfiles\\enes.txt");
try(PrintWriter printWriter = new PrintWriter(writer)){
//printWriter.write(result);
printWriter.println(result);
}
System.out.println(result);
} catch (Exception e) {
System.err.println(e.getCause());
}
我的控制台输出也是如此:
İbrahimEnes ALAN
Küçükbakkalköy,2. Hazine Sk。,34750Ataşehir/İstanbulEfo Academic Aparts 电话编号:(542)6299228
电子邮件:en@ozu.edu.tr / en@hotmail.c0m
您可以看到我的控制台输出是逐行打印的,但是在txt文件中,所有单词都在一行中,我如何像控制台输出一样打印。 你有什么建议吗?感谢您的帮助。
答案 0 :(得分:1)
您需要调用printWriter.write("\r\n");
或printWriter.write(System.lineSeparator())
取决于您的操作系统
try {
String result = instance.doOCR(imageFile);
FileWriter writer = new FileWriter("C:\\testfiles\\enes.txt");
try(PrintWriter printWriter = new PrintWriter(writer)){
printWriter.write(result);
printWriter.write("\r\n");
}
System.out.println(result);
} catch (Exception e) {
System.err.println(e.getCause());
}
答案 1 :(得分:1)
Tesseract返回的字符串已包含以EOL字符\n
分隔的行。在Windows上,它们将显示为一行。您需要将其替换为Windows EOL字符\r\n
。