Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.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 PrintWriter#println方法未按预期工作_Java_Printwriter - Fatal编程技术网

Java PrintWriter#println方法未按预期工作

Java PrintWriter#println方法未按预期工作,java,printwriter,Java,Printwriter,此代码: PrintWriter output = new PrintWriter(new FileWriter(outputFile, false)); output.println("something\n"); output.println("something else\n"); 产出: something something else 而不是: something something else 我尝试使用“\r\n”而不是“\n”,但它的工作方式与我希望的不一样。我该如何解决这

此代码:

PrintWriter output = new PrintWriter(new FileWriter(outputFile, false));
output.println("something\n");
output.println("something else\n");
产出:

something
something else
而不是:

something

something else
我尝试使用“\r\n”而不是“\n”,但它的工作方式与我希望的不一样。我该如何解决这个问题


另外,我正在使用windows 7,您可以连接系统的换行符以分隔行:

    String newLine = System.getProperty("line.separator");
    output.println("something" + newLine);
    output.println("something else" + newLine);

你的代码工作起来很有魅力,只需使用合适的程序员编辑器检查文件即可。 (或者像我之前建议的那样,看一看文件的十六进制转储)

import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

public class Main {
    public static void main(String[] args) {
        PrintWriter output;
        try {
            output = new PrintWriter(new FileWriter("asdf.txt", false));
            output.println("something\n");
            output.println("something else\n");
            output.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
对我来说效果很好,我得到了这样一个asdf.txt

某物

别的


我使用的是jre1.7,您使用的是什么?

这非常好用。您必须使用记事本进行输出。尝试使用不同的文本编辑器,如notepad++。您将获得所需的输出。

尝试以下操作:

package com.stackoverflow.works;

import java.io.FileWriter;
import java.io.PrintWriter;

/*
 * @author: sarath_sivan
 */
public class PrintWriterExample {

    private static final String NEW_LINE = System.getProperty("line.separator");

    public static void main(String[] args) {
        String outputFile = "C:/Users/sarath_sivan/Desktop/out.txt";
        PrintWriter output = null;
        try {
            output = new PrintWriter(new FileWriter(outputFile, false));
            output.println("something" + NEW_LINE);
            output.println("something else" + NEW_LINE);
            output.flush();
        } catch(Exception exception) {
            exception.printStackTrace();
        } finally {
            if (output != null) {
                output.close();
            }
        }
    }
}
输出:


使用--output.print(“某物\n\n”);你能发布输出文件的hextump吗?output.println(“某物”)是什么意思没有任何\n-打印?是否使用记事本检查文件内容?它不会将单个
\n
显示为换行符,但它的存在可以在您使用其他texteditor甚至hexeditor显示它时进行验证。请查看并使用高级文本编辑器检查输出,以便您可以看到实际输出的字符。仅当在中查看文件时,这一功能才保证有效与程序运行的系统相同。但它比使用
\n
\r\n
等更干净+1问题不在于java。如上所述,我下载了一个高级编辑器(notepad++),结果一切正常。谢谢回复我的帖子!Oõ您使用的哪个编辑器无法正确显示
\n