TweetメンバーからBufferedReaderが例外を投げると聞かれたので、調べてみました。サンプルコードはこんな感じ。closedというIOExcepitonが出ます。いうと、1つ目のブロックの最後で、br.close()する際に、System.inもクローズしてしまうからです。staticで定義されています。1度クローズすると他の場所で使おうとしても閉じられたままです。言えば再オープンもできません。System.inやout、errはクローズしてはいけません。対処法としてはSystem.inはクローズしなくてもいい。それでもReaderやWriterを使った後に閉じないと気持ち悪いという人もいると思います。オーバーライドした、UnclosableInputStreamを作ってみてはいかがでしょうか。サンプルコードはこちらなどにあります。IOのCloseShieldInputStreamという手もあるそうです。CloudFrontを使ってS3上のウェブサイトをHTTPSに対応したSearch。