java - 将实时数据写入文件

标签 java file io bufferedwriter

如何用Java将实时数据写入文件?

我正在尝试将实时 Twitter feed 获取到文本文件。这是我编写的代码:

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 时,它包含一行数据。每次我打开它时,它都有不同的数据,但只有一行,它不会将新数据附加到文件中。

请帮助我解决错误的地方。

最佳答案

您需要以追加模式打开FileWriter

替换

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

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

关于java - 将实时数据写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16564489/

相关文章:

java - Elasticsearch 在 Ubuntu 16.04 中停止工作

java - 如何临时将现场线程设为本地

android - 如何在社交媒体(whatsapp,gmail等)上共享/发送音频文件,android studio

java - 套接字 : premature end of JPEG file

有效 JSON 的 Python json.load(file) 错误

多个 `FILE` 对象可以共享同一个文件描述符吗?

java - 为什么当我设置操作时 JButton 的图标消失?

file - 使用 cURL 检查文件是否存在于 FTPS 站点上

git - TFS首次 checkin 的问题(原来是git项目)

java - 如何使用 volatile 标志仅对最后一个 Thread 实例继续运行 run 方法