Jsoup和保存到文本文件
问题描述:
这可能很容易,但我不知道该怎么做。Jsoup和保存到文本文件
Elements rows = table.select("tr");
String s[] = new String[rows.size()];
String p[] = new String[rows.size()];
for (int i = 1; i < rows.size(); i++) {
Element row = rows.get(i);
Elements cols = row.select("td");
s[i] = cols.get(0).text();
p[i] = cols.get(1).text();
String c = s[i] + ":" + p[i];
list1.add(c);
out.print(c); // not work; blank text document.
所以我需要写字符串c到txt文件。我得到的一切都是空白的txt文件。我尝试过使用cols.text(),但它将所有的表体写入txt文件。
答
好吧,我找到解决办法:
Elements rows = table.select("tr");
String s[] = new String[rows.size()];
String p[] = new String[rows.size()];
boolean connectionStatus=false;
for (int i = 1; i < rows.size(); i++) {
Element row = rows.get(i);
Elements cols = row.select("td");
s[i] = cols.get(0).text();
p[i] = cols.get(1).text();
String c = s[i] + ":" + p[i];
list1.add(c);
out.print(c);
out.print(System.getProperty("line.separator"));
out.flush(); // add flush in loop
}
out.close(); // close
使用张贴代码,我无法重现你的问题,但有些事告诉我,你可能不会在你的代码被关闭'out'。 – Pshemo
根据你的回答,你的问题是另一个像[BufferedWriter不会将所有内容写入其输出文件](http://stackoverflow.com/q/13426142/1393766)这样的问题的重复。所有Writers或OutputStreams都可以与缓冲区一起使用。获取写入资源的权限可能需要很长时间,所以我们不想经常要求它。因此,我们正在存储大量数据,然后请求写入权限。当缓冲区满时写入会自动发生。在其他情况下,我们需要明确调用flush/close。 – Pshemo