Twitterで自分自身にダイレクトメッセージを送るJavaプログラム

Twitter4J のバージョン2.1.8を利用。
以下ソースコード

import java.io.FileInputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;

import java.util.Date;

import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.conf.PropertyConfiguration;

/**
 * 1行で自分にダイレクトメッセージを送れるようにするためのクラス
 * 
 * @author phithon
 * 
 */
public class TwitterReporter {
    /**
     * 自分自身に送信時間付きでダイレクトメッセージを送信します。
     * 
     * @param configFilePath twitter4j用設定ファイルのパス
     * @param message 送信するメッセージ
     * @throws IOException ファイルの読み込みに失敗した場合
     * @throws TwitterException メッセージの送信に失敗した場合
     */
    public static void sendDMToMyself(String configFilePath, String message)
            throws IOException, TwitterException {
        FileInputStream fis = null;
        Twitter api = null;
        try {
            fis = new FileInputStream(configFilePath);
            api = new TwitterFactory(new PropertyConfiguration(fis)).getInstance();
        } finally {
            if (fis != null) {
                fis.close();
            }
        }
        // 末尾に送信時間を加える(メッセージ重複対策を兼ねる)
        String dateString = new SimpleDateFormat(" (yyyy/MM/dd HH:mm:ss)").format(new Date());
        api.sendDirectMessage(api.getId(), message + dateString);
    }

    public static void main(String[] args) throws IOException, TwitterException {
        TwitterReporter.sendDMToMyself("./config/twitter.ini", "test");
    }
}

./config/twitter.ini という名前で以下の形式のファイルを準備

debug = true
oauth.consumerKey = ********************
oauth.consumerSecret = ********************
oauth.accessToken = ********************
oauth.accessTokenSecret = ********************

実行すると

test (2010/12/16 15:54:37)

という感じで自分自身にDMが送れるようになる。
時間のかかるプログラムの終了部分などに書いておけば多分便利。