Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在BufferedWriter.write()中替换\n?_Java_Text Files_Bufferedreader - Fatal编程技术网

Java 在BufferedWriter.write()中替换\n?

Java 在BufferedWriter.write()中替换\n?,java,text-files,bufferedreader,Java,Text Files,Bufferedreader,我有一个字符串,其中包含例如名称:Foo\n日期:12/13/11\n 当我对文本文件执行BufferedWriter.writeString操作时,它实际上会输出\n是否要对写入文本文件时表示换行的内容进行替换 下面是示例代码 String input = "Name: adfasd \n AN: asdfasdf \n"; Writer textOutput = null; File file = new File("write.txt"); textOutput = new Buffe

我有一个字符串,其中包含例如名称:Foo\n日期:12/13/11\n

当我对文本文件执行BufferedWriter.writeString操作时,它实际上会输出\n是否要对写入文本文件时表示换行的内容进行替换

下面是示例代码

String input = "Name: adfasd \n AN: asdfasdf \n";
Writer textOutput = null;
File file = new File("write.txt");  
textOutput = new BufferedWriter(new FileWriter(file));
textOutput.write( input );
textOutput.close();
输出将是


如果字符串包含文本\n而不是字符\n,则可以执行以下操作:

String text = "Line 1 \\n Line2";
System.out.println(text);
System.out.println(text.replace("\\n", "\n"));

如果字符串包含文本\n而不是字符\n,则可以执行以下操作:

String text = "Line 1 \\n Line2";
System.out.println(text);
System.out.println(text.replace("\\n", "\n"));

这很奇怪,我刚刚测试了以下代码,结果文件在两行上显示消息:

public void test() throws IOException {
    BufferedWriter writer = new BufferedWriter(new FileWriter("/someDir/test.txt"));
    writer.write("Hello\nWorld");
    writer.close();
}
结果:

Hello 
World

这很奇怪,我刚刚测试了以下代码,结果文件在两行上显示消息:

public void test() throws IOException {
    BufferedWriter writer = new BufferedWriter(new FileWriter("/someDir/test.txt"));
    writer.write("Hello\nWorld");
    writer.close();
}
结果:

Hello 
World

Windows使用CR+LF线条端点,而不是LF端点。您应该能够使用\r\n来获得所需的结果


Wikipedia上有一篇关于你是否想知道更多的文章。

Windows使用CR+LF行结尾,而不是LF结尾。您应该能够使用\r\n来获得所需的结果


Wikipedia上有一篇关于您是否想了解更多信息的文章。

请显示一些实际代码。输出图像链接已断开。请显示一些实际代码。输出图像链接已断开。您使用了什么.txt编辑器?如果您使用的是Windows?Linux Gnome上的GEdit,它可以在记事本中正常打开吗。Linux和Windows使用不同的行尾序列\r\n在Windows上,\r\n在Linux上。尝试将\n替换为\r\n,看看它是否能解决windows上的问题?您使用了什么.txt编辑器?如果您使用的是Windows?Linux Gnome上的GEdit,它可以在记事本中正常打开吗。Linux和Windows使用不同的行尾序列\r\n在Windows上,\r\n在Linux上。请尝试将\n替换为\r\n,看看它是否能解决windows上的问题?