0

How to write real time data to file in Java?

I'm trying to get real time twitter feed to text file. Here is a code that I have written:

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();
      }
   }
} 

When I open the file twitterDumponFile.txt it contains a single line of data. Everytime I open it it has a different data but a single line, it is not appending the new data on to the file.

Please help me where I'm getting wrong.

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 回答