2013-11-14 2 views
0
import java.io.*; 
import java.util.*; 
import java.net.*; 
import org.json.simple.JSONArray; 
import org.json.simple.JSONObject; 
import org.json.simple.parser.JSONParser; 
import org.json.simple.parser.ParseException; 

public class URLReader { 

    public static void main(String[] args) { 
     download(); 
    } 

    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"); 
      } 
      in.close(); 
      System.out.println("Finished with no errors..."); 
     } 
     catch(MalformedURLException e){System.out.println("err1");} 
     catch(IOException e){System.out.println("err2");} 
    } 
} 

Я пытаюсь загрузить этот файл JSON на свой компьютер, но, тем не менее, он останавливается. Он заканчивается после 8192-го символа и больше не идет. В противном случае он отлично работает, любые идеи о том, что я делаю неправильно?Загрузка веб-источника Java

Также это правильный способ загрузить источник веб-страниц, может ли кто-нибудь дать мне несколько лучших техник, чтобы помочь мне?

ответ

1

Вы забыли закрыть BufferedWriter :-)

in.close(); 
bw.close(); // Add this here 
System.out.println("Finished with no errors..."); 

Так Writter может совершить остальную часть потока данных в файл

+0

Спасибо, не заметил, что на самом деле лол:) – Arc