Created
December 11, 2013 11:56
-
-
Save Getaji/7909151 to your computer and use it in GitHub Desktop.
ver1.1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.tweetlog.src; | |
import com.orekyuu.javatter.plugin.JavatterPlugin; | |
import com.orekyuu.javatter.util.SaveData; | |
import com.orekyuu.javatter.view.IJavatterTab; | |
import twitter4j.Status; | |
import java.io.File; | |
import java.io.FileWriter; | |
import java.io.IOException; | |
import java.text.SimpleDateFormat; | |
/** | |
* ここにはクラスの説明を書きます. | |
* @author <あなたの名前> | |
*/ | |
public class TweetLog extends JavatterPlugin { | |
/** ファイル書き込み. */ | |
private static FileWriter fileWriter; | |
/** Statusフォーマット用文字列ビルダー. */ | |
private static StringBuilder stringBuilder = new StringBuilder(); | |
/** 日付フォーマット. */ | |
private static SimpleDateFormat format = new SimpleDateFormat("yy/MM/dd-HH:mm:ss"); | |
@Override | |
public void preInit() { | |
this.getSaveData().setDefaultValue("path", new File(".", "tweetlog.txt").getAbsolutePath()); | |
} | |
@Override | |
public void init() { | |
this.addUserStreamListener(new TweetListener()); | |
try { | |
fileWriter = new FileWriter(new File(this.getSaveData().getString("path")), true); | |
} catch (IOException e) { | |
e.printStackTrace(); | |
} | |
} | |
@Override | |
public String getPluginName() { | |
return "TweetLog"; | |
} | |
@Override | |
public String getVersion() { | |
return "1.1"; | |
} | |
@Override | |
public IJavatterTab getPluginConfigViewObserver() { | |
return new CustomConfigView(this.getSaveData()); | |
} | |
/** | |
* twitter4j.Statusをフォーマットしてログファイルに書き込みます. | |
* @param status Status | |
*/ | |
public static void writeLog(Status status) { | |
stringBuilder.setLength(0); | |
stringBuilder.append(format.format(status.getCreatedAt())); | |
stringBuilder.append(" @"); | |
stringBuilder.append(status.getUser().getScreenName()); | |
stringBuilder.append(" "); | |
stringBuilder.append(status.getUser().getName()); | |
stringBuilder.append(" \""); | |
stringBuilder.append(status.getText()); | |
stringBuilder.append("\"\n"); | |
stringBuilder.append("================================\n"); | |
try { | |
fileWriter.write(stringBuilder.toString()); | |
fileWriter.flush(); | |
} catch (IOException e) { | |
e.printStackTrace(); | |
} | |
} | |
/** | |
* ファイルパスを指定してログファイルに書き込むFileWriterをリセットします. | |
* @param path ファイルパス | |
* @throws IOException 書き込みに失敗 | |
*/ | |
public static void resetFileWriter(String path) throws IOException { | |
fileWriter = new FileWriter(new File(path), true); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment