2

最近、Javaに関する同様の質問をここに投稿しています。誰かが私の質問に答えるたびに、より多くの質問が発生します。よろしくお願いします。追加の問題が解決され、物事がきれいになりました。

[ファイル.java]

public class File {

    public static void main(String[] args) {

        FileWrite fW = new FileWrite();

        try (BufferedReader br = new BufferedReader(new FileReader("B:\\LongIn.dat"))) {
            String stCurrent;
            while ((stCurrent = br.readLine()) != null) {
                System.out.println(stCurrent);
                fW.serializeAddress(stCurrent);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

[FileWrite.java]

public class FileWrite {

    public void serializeAddress(String in) {
        try {
            File file = new File("B:\\LongOut.txt");
            if (!file.exists()) {
                file.createNewFile();
            }

            FileWriter fw = new FileWriter(file.getAbsoluteFile(), true);
            BufferedWriter bw = new BufferedWriter(fw);
            bw.write(in);

            bw.close();

            System.out.println("Done");
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}

これで、ファイルに文字列を書き込むときにプログラムが追加されます。しかし、私は2つの質問があります。

  1. 読み取り側では、多くの文字列をいくつかの変数に格納して、プログラムがそれを操作できるようにする良い方法は何ですか?

  2. 出力の追加は機能しますが、うまく整理されていません。のように、結果は出力ファイル上で相互にメッシュアップされます。出力をすべて並べて見栄えよくするにはどうすればよいですか?

4

2 に答える 2

2

行を分離したい場合、コードをあまり変更せずに行う最も簡単な方法は、次のようにnewLine()call afterを追加することです。write()

bw.write(in);
bw.newLine();
bw.close();

Javadoc: BufferedWriter#newLine()

于 2013-01-16T11:31:42.810 に答える
1

apache Commons IO はどうですか。単純にファイルを使用するための便利なユーティリティ メソッドがたくさんあります。詳細については、クラスFileUtilsを確認してください。

于 2013-01-16T12:06:01.023 に答える