0

二分木をファイルに保存する方法をいくつか書き込もうとしています。わずかな問題を除いて、それらは正しく動作します。問題は、作成される各ファイルの先頭に空白行が挿入されることです。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)
    }
}
4

1 に答える 1

3

PrintWriter空行を挿入して いるわけではありません。PrintWriterそれはしません。

問題の実際の原因は提供されたコード スニペットには示されていませんが、コードが実際のアプリケーションを正確に反映している場合、問題のある空白行は最初のgetData()呼び出しの結果に既に含まれています。

于 2013-03-04T03:03:36.217 に答える