我正在创建一个抓取.edu域的网络抓取工具。目前,我的程序从命令行读取包含许多.edu和其他参数的url的种子文件。当我从文件中读取每个URL时,我将url传递给下载页面内容的其他函数。当我只传入一个网址时,一切正常。但是,当我发送多个文件时,我的程序在打开URL内容的输入流后就会卡住。
这两个参数来自我的函数(readFromSeedFile),它只打开seed.txt并逐行读取url,然后调用downloadFile。
public static void downloadFile(String seed, int i) throws IOException, MalformedURLException{
System.out.println("In downloadFile");
URL urlObj = new URL(seed);
System.out.println("1");
BufferedReader x = new BufferedReader(new InputStreamReader(urlObj.openConnection().getInputStream()));
System.out.println("2");
String fileName = "file" + i + ".html";
System.out.println("3");
BufferedWriter fos = new BufferedWriter(new FileWriter(fileName));
System.out.println("4");
while(x.ready()){
System.out.println("while loop of downloadFile");
String line = x.readLine();
fos.write(line);
fos.write("\n");
}
x.close();
fos.close();
}
它会抛出我在ReadFromSeedFile中的IO Exception。 这是我收到的错误消息
S$ javac WebCrawler.java
S$ java WebCrawler seed.txt 3 4 out.txt
while loop of readSeedFile
http://cs.ucr.edu/
In downloadFile
1
Exception occurred trying to read 'seed.txt'.
BufferedReader是否存在我不理解的内容?