【发布时间】:2010-11-11 02:42:56
【问题描述】:
我正在尝试编写一个程序来处理从文件中读取的 unicode 字符串。我想到了两种方法——一种是读取包含换行符的整个文件,执行几个正则表达式替换,然后将其写回另一个文件;另一个我逐行读取文件并匹配各个行并替换它们并将它们写出来。我无法测试第一种方法,因为字符串中的换行符没有作为换行符写入文件。下面是一些示例代码来说明:
String output = "Hello\nthere!";
BufferedWriter oFile = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream("test.txt"), "UTF-16"));
System.out.println(output);
oFile.write(output);
oFile.close();
打印语句输出
你好
那里!
但文件内容是
你好!
为什么我的换行符没有写入文件?
【问题讨论】:
-
记事本无法正确显示仅包含 \n 的文本文件。
-
用\r\n看看它是否仍然可以
-
是的,我刚刚尝试过,它有效。这很奇怪,出于某种原因,我记得记事本至少会显示一个非字符字形,如果它本身只看到一个 0x0A,但我猜不是。
标签: java string unicode file-io