[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] UrlDown.java




今日は、TreeSet の中身をダンプするコードを書きました。

  // TreeSet の内容をダンプ
  public void showTreeSet(TreeSet tree) {
    if (tree == null) { return; }
    Iterator it = tree.iterator();
    while (it.hasNext()) {
      String s = (String)it.next();
      System.out.println(s);
    }
  }

奇麗にソートされているので気持ちいいです。
これを元にダウンロードするコードを書けば良いのでしょうが、
手抜きをして結果をテキストファイルに保存しました。
これを加工して、<URL> <ローカルファイル名> の形式にします。例えば

 http://www.freepage.total.co.jp/jfriends/index.html jfriends/index.html

こんなカンジです。

これを1行づつ読んで、ローカルファイルに保存するコードを書きました。
あまりにも単純で恥ずかしいですが、以下のようになりました。

UrlDown.java
==================================================================
import java.io.*;
import java.util.*;
import java.net.*;

public class UrlDown {

  public void urlDown(String urlspeck, String path) {
    try {
      URL url = new URL(urlspeck);
      URLConnection conn = url.openConnection();
      InputStream is = conn.getInputStream();
      FileWriter out = new FileWriter(path);
      int c = -1;
      while ((c = is.read()) > -1) {
        out.write(c);
      }
      out.close();
    }
    catch (MalformedURLException e) {
    }
    catch (IOException e) {
      System.out.println("ERROR::" + e.getMessage());
      e.printStackTrace();
    }
    catch (Exception e) {
    }
  }

  public static void main(String[] args) {
    UrlDown ud = new UrlDown();
    try {
      BufferedReader data = new BufferedReader( new FileReader(args[0]));
      String line = null;
      while ((line = data.readLine()) != null) {
        StringTokenizer tk = new StringTokenizer(line);
        if (!tk.hasMoreTokens()) { continue; }
        String urlspeck = tk.nextToken();
        if (!tk.hasMoreTokens()) { continue; }
        String path = tk.nextToken();
          System.out.println(urlspeck + " " + path);
        ud.urlDown(urlspeck, path);
      }
    }
    catch (FileNotFoundException e) {
    }
    catch (IOException e) {
    }
  }
}
==================================================================

いちおうこれで目的は達したので今日はここまでにします。m(_ _)m
------------------------------------------------------------------
遠藤靖之 (えんどう やすゆき) <yasuyuki@xxxxxxxxxx>
http://www.freepage.total.co.jp/jfriends/ (Java互助会ホームページ)
株式会社タイムインターメディア 情報通信サービス部 TEL 03-5362-9009
〒162-0065 新宿区住吉町3-11 新宿スパイアビル8F    FAX 03-5362-9008