2017-02-09 16 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. 

私はtxtファイルに文字列cを書く必要があります。私が得たものはすべて、空のtxtファイルです。私はcols.text()を試してみましたが、すべてのテーブル本体をtxtファイルに書き出します。

+0

私は投稿のコードを使用して問題を再現することはできませんが、何かがあなたのコードで 'out'を閉じることはできませんと言われます。 – Pshemo

+0

あなたの答えに基づいて、あなたの質問は[BufferedWriterが出力ファイルにすべてを書き込んでいない](http://stackoverflow.com/q/13426142/1393766)のような質問のもう一つの重複です。ルールは、バッファと共に使用できるすべてのWriterまたはOutputStreamで同じです。リソースへの書き込み権限を取得するには、時間がかかることがありますので、頻繁に要求したくありません。だから私たちは大量のデータを保存しておき、書き込み権限を求めています。バッファがいっぱいになると自動的に書き込みが行われます。それ以外の場合は明示的にflush/closeを呼び出す必要があります。 – Pshemo

答えて

0

[OK]を、私は解決策を見つけた:

  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 
関連する問題