2016-10-03 63 views
0

我嘗試下載一個網頁的源代碼,這個代碼:Java的Android的 - 不能下載整個頁面的html代碼

StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().permitAll().build()); 

URL url; 
InputStream is = null; 
BufferedReader br; 
String line; 
List<String> list = new ArrayList<>(); 

try { 
    url = new URL("https://csgostash.com/weapon/MAG-7"); 
    is = url.openStream(); 
    br = new BufferedReader(new InputStreamReader(is)); 

    while ((line = br.readLine()) != null) 
     list.add(line); 

    File f = new File("/data/data/abc.def.asd/cache/nwm.txt"); 
    FileWriter fw = new FileWriter(f, true); 
    for(String x : list) 
     fw.append(x +"\n"); 

} catch (IOException e) { 
    e.printStackTrace(); 
} 

但是,這並不下載整個代碼。它應該結束幾行(我知道它是因爲,你怎麼看,我把整個列表的內容寫到一個文本文件中)。你是否知道其他方法將整個網站代碼保存到數組/列表中?

+0

對於靜態內容使用jsoup,對於動態內容使用帶有javascript接口的WebView。 –

回答

3

完成時,可能不會是一個問題,你必須關閉或刷新一個FileWriter

FileWriter fw = new FileWriter(f, true); 
for(String x : list) 
    fw.append(x +"\n"); 
fw.close(); 

或者使用try-與資源,如果你有分鐘SDK> = 19:

try (FileWriter fw = new FileWriter(f, true)) { 
    for(String x : list) 
     fw.append(x +"\n"); 
} 

否則,您可以看到一個部分寫入的文件。