>>263
仕様がはっきりしてないのでよく分からないが、複数のRSSを読み取ってその更新日時をソートすると決め付け。
コマンドライン引数でRSSのURLリスト(1行1URL)の入ったファイル名を指定。
もし更新日時の情報がない場合は更新日時は遠未来とみなしてソートしている。つまり新しい順なので先頭にくる。
RSSパーザには ttp://informa.sourceforge.net/ を使った。使い方はそんなに難しくないのでドキュメントを参照汁。
libのうちinforma.jar、jdom.jar、commons-logging.jarにクラスパスが通っていれば、下のコードは通ると思う。
import java.io.*;
import java.net.URL;
import java.util.*;
import de.nava.informa.core.ChannelIF;
import de.nava.informa.impl.basic.ChannelBuilder;
import de.nava.informa.parsers.FeedParser;
public class RSSReader {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new FileReader(args[0]));
ArrayList infos = new ArrayList();
String str;
while ((str = br.readLine()) != null) {
URL url = new URL(str);
ChannelIF channel = FeedParser.parse(new ChannelBuilder(), url);
infos.add(new Info(url, channel.getTitle(), channel.getPubDate()));
}
br.close();
Collections.sort(infos);
Collections.reverse(infos);
for (int i = 0; i < infos.size(); i++) {
Info info = (Info)infos.get(i);
System.out.println(info.getUrl() + " : " + info.getTitle() + " : " + info.getDate());
}
}