All Downloads are FREE. Search and download functionalities are using the official Maven repository.

twitter4j.examples.json.SaveRawJSON Maven / Gradle / Ivy

There is a newer version: 4.0.7
Show newest version
/*
 * Copyright 2007 Yusuke Yamamoto
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package twitter4j.examples.json;

import twitter4j.Status;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.json.DataObjectFactory;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.List;

/**
 * Example application that gets public timeline and store raw JSON strings into statuses/ directory..
* * @author Yusuke Yamamoto - yusuke at mac.com */ public final class SaveRawJSON { /** * Usage: java twitter4j.examples.json.SaveRawJSON * * @param args String[] */ public static void main(String[] args) { Twitter twitter = new TwitterFactory().getInstance(); System.out.println("Saving public timeline."); try { new File("statuses").mkdir(); List statuses = twitter.getPublicTimeline(); for (Status status : statuses) { String rawJSON = DataObjectFactory.getRawJSON(status); String fileName = "statuses/" + status.getId() + ".json"; storeJSON(rawJSON, fileName); System.out.println(fileName + " - " + status.getText()); } System.out.print("\ndone."); System.exit(0); } catch (IOException ioe) { ioe.printStackTrace(); System.out.println("Failed to store tweets: " + ioe.getMessage()); } catch (TwitterException te) { te.printStackTrace(); System.out.println("Failed to get timeline: " + te.getMessage()); System.exit(-1); } } private static void storeJSON(String rawJSON, String fileName) throws IOException { FileOutputStream fos = null; OutputStreamWriter osw = null; BufferedWriter bw = null; try { fos = new FileOutputStream(fileName); osw = new OutputStreamWriter(fos, "UTF-8"); bw = new BufferedWriter(osw); bw.write(rawJSON); bw.flush(); } finally { if (null != bw) { try { bw.close(); } catch (IOException ignore) { } } if (null != osw) { try { osw.close(); } catch (IOException ignore) { } } if (null != fos) { try { fos.close(); } catch (IOException ignore) { } } } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy