[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