19

質問にちょっとしたコードを追加することになっていることは知っていますが、私は真剣に唖然とし、頭を包んだり、従うべき例を見つけることができません。

基本的には、すでに内容が入っているファイルC:\ A.txtを開き、最後に文字列を書きたいと思います。基本的にはこんな感じ。

ファイルA.txtには次のものが含まれています。

John
Bob
Larry

それを開いて最後にSueと書きたいので、ファイルには次のものが含まれています。

John
Bob
Larry
Sue

コード例がないので申し訳ありませんが、私の脳は今朝死んでいます...。

4

3 に答える 3

42

ラリーペイジとセルゲイブリンによって世界に与えられたグーグルを検索してください。

BufferedWriter out = null;

try {
    FileWriter fstream = new FileWriter("out.txt", true); //true tells to append data.
    out = new BufferedWriter(fstream);
    out.write("\nsue");
}

catch (IOException e) {
    System.err.println("Error: " + e.getMessage());
}

finally {
    if(out != null) {
        out.close();
    }
}
于 2012-05-19T18:32:34.820 に答える
11

提案:

  • ディスク上の既存のファイルを参照するFileオブジェクトを作成します。
  • FileWriterオブジェクトを使用し、Fileオブジェクトとブール値を受け取るコンストラクターを使用します。ブール値trueが存在する場合は、ファイルにテキストを追加できます。
  • 次に、FileWriterをコンストラクターに渡すPrintWriterを初期化します。
  • 次にprintln(...)、PrintWriterを呼び出して、新しいテキストをファイルに書き込みます。
  • いつものように、使い終わったらリソース(PrintWriter)を閉じます。
  • いつものように、例外を無視するのではなく、それらをキャッチして処理します。
  • close()PrintWriterのは、tryのfinallyブロックにある必要があります。

例えば、

  PrintWriter pw = null;

  try {
     File file = new File("fubars.txt");
     FileWriter fw = new FileWriter(file, true);
     pw = new PrintWriter(fw);
     pw.println("Fubars rule!");
  } catch (IOException e) {
     e.printStackTrace();
  } finally {
     if (pw != null) {
        pw.close();
     }
  }

簡単ですね

于 2012-05-19T18:22:39.463 に答える
3

イールズ氏のコメントを拡張するには、次のようにします。

    File file = new File("C:\\A.txt");
    FileWriter writer;
    try {
        writer = new FileWriter(file, true);
        PrintWriter printer = new PrintWriter(writer);
        printer.append("Sue");
        printer.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

私たちがあなたに良くないと言ってはいけません!

于 2012-05-19T18:27:44.090 に答える