HTMLのDL
さて。。。たまにはSeasar2の関係ないことを。
といってもAPの一部なんだけど、
HTMLのページをごっそり保存したい。という話。
たとえば、IEの名前をつけて保存をまるまる行いたい。
ただ、アプリはFedora7上で動いてる。
さて、通常、自分のやろうと思うことぐらい、
他の人がすでに解決している。
というのを師匠に言われて以来、座右の銘にしているわけですが、
いまいちぱっとする検索結果が出てこないので、
結局ごりごりロジックを書いているわけですが、
まず第一段階として
Content-typeの判別は意外に面倒なわけで・・・
すなおにResponseに設定されていれば、メソッド一発なんだけど、
大概の場合セットされていない。
というわけで判別処理のメモ
BOMは胡散臭いこんな感じでチェック
public static final int[] BOM = new int[]{65533, 65403, 65407}; private static final boolean isBOM(String text) { if(text == null || text.length() == 0) { return false; } for (int i = 0; i < BOM.length; i++) { int c = text.charAt(i); if(c != BOM[i]) { return false; } } return true; }
果たして、htmlでBOMくっついていることあるのか不明・・・
UTF-16もどうしたもんだか・・・
普通にストリーム開いてコピーでもいいんだけどね。きっと(commons利用でも)