2016-10-03 3 views
0

im Download versuchen, mit diesem Code, um einen Quellcode einer Seite zum Download:java android - nicht ganzer Seite HTML-Code

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(); 
} 

aber das tut eine ganze Code herunterladen. es endet ein paar Zeilen bevor es sollte (ich weiß es, weil, wie Sie sehen können, schrieb ich den gesamten Inhalt der Liste in eine Textdatei). Kennen Sie andere Methoden, um den gesamten Website-Code in einem Array/einer Liste zu speichern?

+0

Verwenden Sie für statische Inhalte jsoup, für dynamische Inhalte ein WebView mit einer JavaScript-Schnittstelle. –

Antwort

3

Es kann kein Problem sein, müssen Sie schließen oder eine FileWriter spülen, wenn Sie fertig:

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

Nutzen Sie versuchen-with-Ressourcen, wenn Sie min sdk haben> = 19:

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

Sonst könnten Sie eine teilweise geschriebene Datei sehen.

Verwandte Themen