2016-06-15 3 views
0

新しいフローオーバー^ _ ^、 私は書き込みメソッドを持っています。新しいものによって。 私の書き込み方法:以前の行を書き込むときにバッファライタが削除され、新しいものに置き換えられました

public void write(String args) { 
     try { 
      BufferedWriter writer = new BufferedWriter(new FileWriter(file.getAbsoluteFile())); 
      writer.write(args); 
      writer.close(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 

答えて

0

これが起こっているあなたは非APPEND(すなわち上書き)モードでは、あなたのwrite()メソッドを呼び出すたびに新しいFileWriterを開いておくため。代わりに、追加モードでFileWriterを作成してみてください:あなたは、単一の回で、すべての書き込み操作を行うにため

public void write(String args) { 
    try { 
     BufferedWriter writer = new BufferedWriter(new FileWriter(file.getAbsoluteFile(), true)); 
     writer.write(args); 
     writer.close(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

をご利用の場合によっては、この方法での必要性を排除する可能性があり、より多くの意味をなすかもしれません最初の場所。しかし、特定の時間にファイルに追加できるヘルパーメソッドが必要な場合は、この回答が役に立ちます。

詳細については、JavaDocを参照してください。

+0

もちろん、ファイルに複数の行を書くつもりならば、メソッド全体が全く役に立たないと主張できます。 – Kayaman

+1

おかげで、今完全に正常に動作します:) – NattoShaw

+0

あなたはこの 学生があればもう一つ、@TimBiegeleisen: 名前:ナサニエル クラス: 黄色をして、値を読みたい、元名前:ナサニエル、どのようにあなたはそれを実装するのですバッファされたリーダで – NattoShaw

関連する問題