[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