0

Javaでリアルタイムデータをファイルに書き込む方法は?

リアルタイムの Twitter フィードをテキスト ファイルに取得しようとしています。ここに私が書いたコードがあります:

public void onStatus(Status status) 
{
   User user = status.getUser();
   BufferedWriter bufferedWriter = null;
   try
   {
      bufferedWriter = new BufferedWriter(new FileWriter("c:\\twitterDumponFile.txt"));
      String username = status.getUser().getScreenName();
      bufferedWriter.write(username);

      String profileLocation = user.getLocation();
      bufferedWriter.write(profileLocation);

      String content = status.getText();
      bufferedWriter.write(content);
      bufferedWriter.newLine();

   }
   catch (FileNotFoundException ex) 
   {
      ex.printStackTrace();
   } 
   catch (IOException ex) 
   {
      ex.printStackTrace();
   } 
   finally
   {
      //Closing the BufferedWriter
      try
      {
         if (bufferedWriter != null) 
         {
            bufferedWriter.flush();
            bufferedWriter.close();
         }
      } 
      catch (IOException ex) 
      {
         ex.printStackTrace();
      }
   }
} 

ファイル twitterDumponFile.txt を開くと、1 行のデータが含まれています。それを開くたびに、データは異なりますが、1行で、新しいデータがファイルに追加されていません。

私が間違っているところを助けてください。

4

3 に答える 3

3

FileWriter追加モードで開く必要があります。

交換

bufferedWriter = new BufferedWriter(new FileWriter("c:\\twitterDumponFile.txt"));

bufferedWriter = new BufferedWriter(new FileWriter("c:\\twitterDumponFile.txt", true));
于 2013-05-15T12:08:38.347 に答える
3
FileWriter("c:\\twitterDumponFile.txt")

これはファイルにデータを追加せず、ファイルの先頭から書き込みます。代わりにこれを使用します:

FileWriter("c:\\twitterDumponFile.txt", true)

これにより、ファイルの先頭ではなく末尾に書き込まれます。

FileWriterのドキュメントを参照してください。

于 2013-05-15T12:08:40.047 に答える
0

ファイルに追加するのではなく、ファイルに既にあるデータを上書きしています。

上書きする代わりに追加する方法を知るには、APIリンクを使用してください... API を使用して、メソッドとクラスの方法と概要を知ることは常に良い方法です。

于 2013-05-15T12:17:11.460 に答える