2016-10-03 61 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"); 
} 

否则,您可以看到一个部分写入的文件。