簡體   English   中英

網絡爬蟲Java

[英]Web Crawler Java

...

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()將負責關閉包裝bw.close() FileWriter

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM