java学習初心者です。
下記のような指定したURLからHTMLを取得するプログラムのコードでわからないことがあります(このコードはネットから引用)。
http://d.hatena.ne.jp/n_euler666/20070919/1190189499
###該当のソースコード
import java.io.*; import java.net.*; import javax.swing.*; public class html_getter { public static void main(String[] args){ Object o1 = null; try { o1 = new Getter5(new URL("http://www.google.com/")); } catch (MalformedURLException e) { e.printStackTrace(); } ((Getter5)o1).Show(); } } class Getter5{ private String charset = "Shift_JIS"; private JTextArea htmlArea; public Getter5(URL url){ htmlArea = new JTextArea(); try { URLConnection uc = url.openConnection(); BufferedInputStream bis = new BufferedInputStream(uc.getInputStream()); BufferedReader br = new BufferedReader(new InputStreamReader(bis, charset)); htmlArea.setText(""); String line; while ((line = br.readLine()) != null) { htmlArea.append(line + "\n"); } } catch (MalformedURLException ex) { htmlArea.setText("URLが不正です。"); ex.printStackTrace(); } catch (UnknownHostException ex) { htmlArea.setText("サイトが見つかりません。"); } catch (IOException ex) { ex.printStackTrace(); } } public void Show(){ System.out.println(htmlArea.getText()); } }
((Getter5)o1).Show();
↑これは何がどうなってるのでしょうか
o1.Show();
ではだめなのでしょうか(これだとシンボルが見つからないというエラーになります)
Getter5.Show()ではいけないのはわかります(インスタンスメソッドだから)
だからGetter5クラスのインスタンスであるo1を使って01.show()にすれば問題ないと思うのですが・・・
ちなみにこのソースコードについて勉強している理由は、ネット上の画像を自動的に保存するプログラムを作りたいと考えたからです。
URLを指定→HTMLを取得→HTMLから画像リンクのURLを何個か探して取得→そのURL先の画像を順次保存
というのができるかなと考えました
回答2件
あなたの回答
tips
プレビュー