我想要添加到txt文件中的2个字符串。第一个String需要在第一行中,第二个在第二行中。 " \ n"命令似乎不起作用,因为在我的输出文件中,两个字符串都在一行中。
FileWriter writer = new FileWriter(measurements);
String text1 = x.measurementToString(x);
String text2 = z.measurementToString(z);
writer.write(text1 + "\n" + text2);
writer.close();
System.out.println("Strings added to file!");
答案 0 :(得分:1)
由于新行字符在不同的操作系统中不同,因此您可以使用#-- regex-replace an occurence by count
$s = "…abc…abc…abc…";
$counter = 1;
$s = preg_replace_callback("/abc/", function ($m) use (&$counter) {
#-- replacement for 2nd occurence of "abc"
if ($counter++ == 2) {
return "def";
}
#-- else leave current match
return $m[0];
}, $s);
在运行时获取操作系统的换行符。
对于Java 7,您还可以使用$counter
答案 1 :(得分:0)
也许您在Windows上并使用无法将\n
识别为行分隔符的工具打开文件,例如记事本?
使用the Files
class中的方法可以更轻松地处理文件I / O.在你的情况下:
Path p = Paths.get("C:/path/to/your/file/filename.ext");
//or
Path p = measurements.toPath();
Files.write(p, Arrays.asList(text1, text2), StandardCharsets.UTF_8);
这将使用您计算机上的默认行分隔符,并应解决您的问题。
答案 2 :(得分:0)
改为使用PrintWriter.println()。
必须是这样的:
System.lineSeparator()