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

[jfriends] Re: eof判定




>UrlRetriever.java でやっていたような気が...

UrlDown.java でやってました。2度読む方はごめんなさい。

// UrlDown.java
// copyright (c) 1998 yasuyuki@xxxxxxxxxx
//
// 使用方法:
//   下記のような複数行を記述したテキストファイルを読込んで、
//   Url からローカルファイルにセーブします
//     <url> <localfilename>
//
// 注意:
//   これを悪用して、脆弱な HTTP サーバーをダウンさせないでください。^^;

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();
        System.out.println("TYPE::" + conn.getContentType());//DEBUG
        System.out.println("ENC::" + conn.getContentEncoding());//DEBUG
      InputStream is = conn.getInputStream();
      //InputStream is = url.openStream();
      //FileWriter out = new FileWriter(path); //Text encodingされてしまう
      FileOutputStream out =
        new FileOutputStream(new File(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) {
        if (line.startsWith("#")) { continue; } //1998.12.9 y.e comment行の処理
        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) {
    }
  }
}
------------------------------------------------------------------
遠藤靖之 (えんどう やすゆき) <yasuyuki@xxxxxxxxxx>
http://www.freepage.total.co.jp/jfriends/ (Java互助会ホームページ)
株式会社タイムインターメディア 情報通信サービス部 TEL 03-5362-9009
〒162-0065 新宿区住吉町3-11 新宿スパイアビル      FAX 03-5362-9008