Skip to content

Instantly share code, notes, and snippets.

@Getaji
Created December 11, 2013 11:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Getaji/7909151 to your computer and use it in GitHub Desktop.
Save Getaji/7909151 to your computer and use it in GitHub Desktop.
ver1.1
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