我正在尝试网络抓取一些数据,以便我可以在我的应用程序中使用它。
我试图获取数据的网站是雅虎,但是当我尝试流式传输数据时,我收到了一个FileNotFoundException。
我还明确设置了IP地址和端口。
如果有人能告诉我哪里出错了,真的会感激不尽。
我也发布了示例代码。
parentUrl = "http://www.yahoo.com";
pageUrl = new URL(parentUrl);
System.out.println(parentUrl);
try {
in = new BufferedReader(new InputStreamReader(pageUrl.openStream()));
} catch(Exception ex2) {
ex2.printStackTrace();
}
while ((inputLine = in.readLine()) != null) {
out.write(inputLine);
in.close();
}
out.close();
答案 0 :(得分:1)
问题在于out
的初始化。您没有向我们展示该代码,但它将类似于:
OutputStream out = new FileOutputStream("non/existent/path/somefilename");
这可能是由于您使用 relative 路径,所以为了帮助您调试它,我建议您将其更改为:
File file = new File("non/existent/path/somefilename");
System.out.println(file.getAbsolutePath()); // start with this simple debugging
OutputStream out = new FileOutputStream(file);
我的猜测是文件的路径不在您认为的位置。