2017-02-09 3 views
-1

Это может быть легко, но я не знаю, как это сделать.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-файл. Все, что у меня есть, это пустой текстовый файл. Я пытался работать с cols.text(), но записывал все тело таблицы в txt-файл.

+0

Я не могу воспроизвести проблему, используя размещенный код, но что-то мне подсказывает, что вы не можете закрывать 'out' в вашем коде. – Pshemo

+0

Основываясь на вашем ответе, ваш вопрос является еще одним дубликатом вопроса, например [BufferedWriter не записывает все в свой выходной файл] (http://stackoverflow.com/q/13426142/1393766). Правило такое же для всех писателей или выходных потоков, которые могут использоваться вместе с буфером. Получение разрешения на запись на ресурс может занять много времени, поэтому мы не хотим часто его запрашивать. Таким образом, мы храним большое количество данных, а затем запрашиваем разрешение на запись. Запись происходит автоматически, когда буфер заполнен. В другом случае нам нужно явно вызвать flush/close. – Pshemo

ответ

0

Хорошо, я нашел решение:

  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 
Смежные вопросы