0

私はファイルへの書き込み方法に関する無数のフォーラム投稿や記事を見てきましたが、役に立たなかったので、役に立つものに出くわしました。私は現在、次のように宣言されたFileWriterを使用しています。

   public FileWriter filewriter;

その後、

   try {
      filewriter = new FileWriter(textfile, true);
   } catch (IOException e) {
      e.printStackTrace();
   }

次に、次のコマンドでファイルに書き込みます。

   try {
      filewriter.write(string + "string");
      filewriter.flush();
   catch (IOException e) {
      e.printStackTrace();
   }

では、ライターが現在のテキストを上書きせず、テキストに新しい行を追加するようにするにはどうすればよいですか。

例(例としてこれらを使用してみてください):次のように書きたい

  1. 町に行く
  2. 右折してください
  3. その後、居酒屋に入る
  4. 紫の老人に挨拶

では、JavaからCOMPLETELYを作成するにはどうすればよいですか。ボタンをクリックするたびに最初の行が書き込まれ、もう一度クリックするたびに2番目の行が書き込まれるなど、すべてが異なる時間に引き起こされます。

4

1 に答える 1

0

書かれているコードは正しいです。既存のデータを上書きして、ファイルの最後にデータを書き込みます。

考えられる唯一の問題は、既存のファイルの最後の行が行末記号で終わっていない場合、最後に書き込む余分なデータの最初の行が前の最後の行の and に追加されることです。それが懸念事項である場合、簡単な修正方法は、空の行を追加することから始めることです。たとえばfilewriter.write(newline);、wherenewlineには適切な行終端文字が含まれます。

(また、書き込み用の「コード」には明示的な行末記号が含まれていないことにも気付きました。それは文字列の一部ですか?それがあなたの問題かもしれません?Writer.write(...)メソッドは行末記号を自動的に追加しません...)

于 2013-02-17T06:23:17.447 に答える