话不多说,先来看一下代码
// 将要输出的字符串
String text = "第一行\n第二行\n第三行";
// 建立字符输出流
try(FileWriter fr = new FileWriter("src/1.txt")) {
// 输出字符串
fr.write(text);
} catch (Exception e) {
e.printStackTrace();
}
当我们输出后,用windows记事本打开会发现压根就没有换行
然而,用notePad++打开,却发现换行了
这是为啥呢,因为Java里换行符是\n,而windows里认定的换行符是\r\n,所以你用windows自带的记事本打开,它就不会识别\n。 所以将来要进行字符串输出的话,就必须要将\n转换为\r\n
String text = "第一行\n第二行\n第三行";
try(FileWriter fr = new FileWriter("src/1.txt")) {
// 将\n替换成\r\n
text = text.replaceAll("(?!\\r)\\n", "\r\n");
fr.write(text);
} catch (Exception e) {
e.printStackTrace();
}
这样替换后,就OK了。