Java 如何防止PrintWriter在每个文件的开头打印空行?

Java 如何防止PrintWriter在每个文件的开头打印空行?,java,Java,我正在尝试编写一些方法来将二叉树保存到文件中。除了一个小问题外,它们工作正常。问题是在创建的每个文件的开头插入了一个空行。为什么PrintWriter会这样做,我如何才能防止它发生 这是我的密码: import java.io.*; void callSaveGame(String fileName) throws IOException { PrintWriter out = new PrintWriter(new FileWriter("X:\\path\\to\\save\\di

我正在尝试编写一些方法来将二叉树保存到文件中。除了一个小问题外,它们工作正常。问题是在创建的每个文件的开头插入了一个空行。为什么PrintWriter会这样做,我如何才能防止它发生

这是我的密码:

import java.io.*;

void callSaveGame(String fileName) throws IOException {
    PrintWriter out = new PrintWriter(new FileWriter("X:\\path\\to\\save\\directory\\" + fileName)); // associate PrintWriter with file

    saveGame(root, out);

    out.close();
}

void saveGame(Node current, PrintWriter out) {
    if (current != null) {
        out.println(current.getData()); // print node to file

        saveGame(current.getLChild(), out); // call for left child(ren)

        saveGame(current.getRChild(), out); // call for right child(ren)
    }
}

不是插入到空白行的代码> PrimWrutsI/COD>。代码>PrintWriter不会这样做


问题的实际原因在您提供的代码段中没有显示,但是如果代码是对实际应用程序的准确反映,那么冒犯的空白行已经出现在第一个代码> GETDATA()/<代码> CUL.

< P> >不是空白代码> PrimTrrister-<代码>,即插入空白行。代码>PrintWriter不会这样做


问题的实际原因没有显示在您提供的代码片段中,但是如果代码准确地反映了您的实际应用程序,那么第一次
getData()
调用的结果中已经出现了令人不快的空行。

感谢您指出这一点。我检查了根节点的数据字段,发现它以换行符开头。感谢您指出这一点。我检查了根节点的数据字段,发现它以换行符开头。