gpt4 book ai didi

java - Java网络爬虫

转载 作者:行者123 更新时间:2023-12-01 13:50:40 25 4
gpt4 key购买 nike

...

public static void download() {
try {
URL oracle = new URL("http://api.wunderground.com/api/54f05b23fd8fd4b0/geolookup/conditions/forecast/q/US/CO/Denver.json");
BufferedReader in = new BufferedReader(new InputStreamReader(oracle.openStream()));

File file = new File("C:\\Users\\User\\Desktop\\test2.json");
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);

String inputLine;
while ((inputLine = in.readLine()) != null) {
bw.write(inputLine+"\n");
}
fw.close();
in.close();
System.out.println("Finished...");
}
catch(MalformedURLException e){e.printStackTrace();}
catch(IOException e){e.printStackTrace();}
}

我正在制作一个网络爬虫来从 Wunderground 检索天气更新。我确实让它工作了,但它没有解析整个文档(最后一点的剪切)。我做错了什么?

最佳答案

您正在使用 BufferedWriter 包装您的 FileWriter

FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);

但仅关闭FileWriter

fw.close();

由于FileWriter没有访问权限并且不知道BufferedWriter,因此它不会刷新任何可能的剩余缓冲区。您可以对 bw 调用 flush() 或关闭 bw 而不是 fw。调用 bw.close() 将负责关闭包装的 FileWriter

bw.close();
in.close();

关于java - Java网络爬虫,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19986220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com