我正在尝试编写一个程序来操作从文件中读取的 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();
打印语句输出
Hello
那里!
但文件内容是
你好呀!
为什么我的换行符没有写入文件?
你应该尝试使用
System.getProperty("line.separator")
这是一个未经测试的例子
String output = String.format("Hello%sthere!",System.getProperty("line.separator"));
BufferedWriter oFile = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream("test.txt"), "UTF-16"));
System.out.println(output);
oFile.write(output);
oFile.close();
我无法测试第一个
方法,因为换行符
字符串不作为换行符写入
文件
你确定吗?您能否发布一些显示该具体事实的代码?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)