我试图使用以下代码下载页面的源代码:
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 :(得分:3)
可能没有问题,您必须在完成时关闭或刷新FileWriter
:
FileWriter fw = new FileWriter(f, true);
for(String x : list)
fw.append(x +"\n");
fw.close();
如果你有min sdk&gt; = 19:
,请使用try-with-resourcestry (FileWriter fw = new FileWriter(f, true)) {
for(String x : list)
fw.append(x +"\n");
}
否则你可以看到部分写入的文件。