使用toString逐行打印到文本文件

Dog*_*Dog 3 java io newline file

我可以使用toString逐行打印到控制台,但是当我把它放在文本文件中时怎么会这样做呢?

public class NewClass
{

    @Override
    public String toString()
    {
        return ("John " + "\n" + "jumps " + "\n" + "fences");
    }
}


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


public class Sandbox
{
    public static void main(String[] args) throws IOException
    {
        NewClass object = new NewClass();            

        FileWriter file = new FileWriter("output.txt");
        PrintWriter output = new PrintWriter(file);
        output.println(object.toString());    
        output.close(); 
        System.out.println(object.toString());

    }
}
Run Code Online (Sandbox Code Playgroud)

控制台输出:

约翰

跳跃

围栏

output.txt的

约翰跳过篱笆

Joã*_*lva 5

由于您使用的是Windows,而不是\n使用\r\n(回车+换行).

或者更好的是,使用System.getProperty("line.separator")以获得所用操作系统来分隔文本文件中的行的顺序.