我正在使用Twitter4J库来处理Twitter的REST API,特别是在https://api.twitter.com/1.1/search/tweets.json
端点上。我非常了解Twitter自己的Streaming API,但我不想使用它(至少目前为止)。我有一个方法通过/search/tweets
循环查询do-while
端点,但我希望方法返回流式方式,这样我就可以同时在控制台中打印结果,而不是加载所有内容一次全部。这是方法:
public List<Status> readTweets(String inputQuery) {
List<Status> tweets = new ArrayList<Status>();
int counter = 0;
try {
RateLimitStatus rateLimit = twitter.getRateLimitStatus().get("/search/tweets");
int limit = rateLimit.getLimit();
Query query = new Query(inputQuery);
QueryResult result;
do {
result = twitter.search(query);
tweets.addAll(result.getTweets());
counter++;
} while ((query = result.nextQuery()) != null && counter < (limit - 1));
} catch (TwitterException e) {
e.printStackTrace();
System.out.println("Failed to search tweets: " + e.getMessage());
tweets = null;
}
return tweets;
}
你能提出什么建议? 附:我不想把控制台打印功能放在这个方法中。
感谢。