我正在使用 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;
}
你有什么建议?PS 我不想把控制台打印功能放在这个方法里面。
谢谢。