【问题标题】:Not able to Save Tweets during Twitter Streaming在 Twitter 流式传输期间无法保存推文
【发布时间】:2017-04-12 13:03:51
【问题描述】:

我正在尝试使用 Twitter4j 从 Twitter API 流式传输推文并保存它们。

public class TwitterStreaming{

private static int count;
private static PrintWriter writer;  
private static PrintWriter writer2;

在主函数中:

TwitterStreaming.writer  = new PrintWriter("FF8Json.txt", "UTF-8");  
    TwitterStreaming.writer2  =new PrintWriter("FF8.txt", "UTF-8");

   TwitterStreaming.count=0;

    //writer.println("hello :)");
    //writer2.println("Check 123");

    StatusListener listener;
    listener = new StatusListener() {
        @Override
        public void onStatus(Status status) {

            TwitterStreaming.writer.println(DataObjectFactory.getRawJSON(status));
            TwitterStreaming.writer2.println(status.getLang()+" - "+status.getText());
            TwitterStreaming.count++;
            System.out.println("Count - "+TwitterStreaming.count);

            //To change the body of generated methods, choose Tools | Templates.
        } 
//Other Override functions are removed over here

        };

FF8Json.txtFF8.txt 都将是empty。 我尝试创建一个函数并将数据发送给它,并尝试通过该函数将数据写入文件。但它不起作用。 我该如何解决这个问题?有没有其他方法可以将数据写入文件?

但是当我使用 System.out.println 而不是 TwitterStreaming.writer 时它可以工作。

HERE 上的完整代码

【问题讨论】:

  • 你有什么异常吗?您是否覆盖了其他方法,例如 onTrackLimitationNotice()?您在搜索哪些关键字?
  • 我已经覆盖了其他方法,并且在运行时我没有收到任何异常或错误
  • 仅供参考,你可以看看github.com/shubhamsharma04/jsonTweetDownload
  • 如果我在我的系统中运行您的代码,我会收到以下异常:java.lang.IllegalStateException: 显然 jsonStoreEnabled 未设置为 true。
  • 我添加了 jsonStoreEnabled(true) 并尝试了它。还是不行

标签: java twitter twitter4j


【解决方案1】:

如果您不关闭 printwriter 对象,将很难在这些文件中找到某些内容..

 writer.close();

请不要将 TwitterStreaming 类中的所有内容都设为静态

【讨论】:

  • 我也使用过 close() 函数。我不想使用静态。起初,我尝试在 Main 函数本身中声明 writer 和 writer2 变量。它没有用。所以我想将它们声明为静态来解决问题,但它没有解决。
猜你喜欢
  • 2017-09-24
  • 2018-03-21
  • 2018-07-29
  • 1970-01-01
  • 1970-01-01
  • 2018-06-13
  • 1970-01-01
  • 1970-01-01
  • 2014-12-08
相关资源
最近更新 更多