「プログラミング」JAVAのエラーが解決できません。
ホームページを見たり、メールチェックをしたり、数分間このプログラムを走らせると、
Address already in use: connect java
や
Connection refused: connect
といったエラーメッセージが出ます。
どうすれば、解決するでしょうか?
やさしいJAVAやインターネットで調べたのですが良い方法が分かりません。ぜひ、ご教示宜しくお願い致します。
import java.net.*;
import java.io.*;
import java.util.*;
import java.text.*;
class Test {
public static void main(String[] args) throws Exception {
String helloURL;
for(int a=1; a<3000; a++) {
helloURL = "http://shopping.yahoo.co.jp/";
Th th1 = new Th(helloURL);
th1.start();
Thread.sleep(100);
}
}
}
class Th extends Thread {
String helloURL = null;
String line;
Th(String str) {
this.helloURL = str;
}
public void run() {
try {
URL url = new URL(helloURL);
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream(),"JISAutoDetect"));
while ((line = in.readLine()) != null) {
try {
OutputStream os = new FileOutputStream("log.txt",true);
BufferedWriter fr = new BufferedWriter(new OutputStreamWriter(os));
if(line.indexOf("ヤフー") != -1) {
fr.write(line);
}
if(line.indexOf("あ") != -1) {
fr.write(line);
}
fr.close();
os.close();
} catch(Exception e){System.out.println("エラー1 : "+e.getMessage());}
}
in.close();
} catch(Exception ex){System.out.println("エラー2 : "+ex.getMessage());}
}
}
お礼
回答いただきありがとうございます。 正直、何を言っているのかさっぱりですが、とりあえず、一度にたくさん接続すると、エラーが出るということですね。 もう少し、クローズの仕方などいろいろ、調べてみます。 ありがとうございました。