2016-04-20 2 views
0

私はウェブサイトからデータを取り込み、CSVファイルに保存しています。データがCSVファイルに入ると、すべての行の最後のカンマで区切られていました。どういうわけか私はそれを処理することができます。しかし、今では、別の列を作成しているすべての行の最初に、コンマを取得しています。以下は私のコードです。私は例えば欲しいJavaの.CSVファイルの先頭にカンマを避ける

for (Iterator<Element> it = tdElements.iterator(); it.hasNext();) { 
        if (it.hasNext()) { 
         sb.append(" \n "); 
        } 
        for (Iterator<Element> it2 = trElement2.iterator(); it.hasNext();) { 
         Element tdElement = it.next(); 
         final String content = tdElement.text(); 

         if (it2.hasNext()) { 
          sb.append(" , "); 
          sb.append(formatData(content)); 
         } 

         if (!it2.hasNext()) { 
          String content1 = content.replaceAll(",$", " "); 
          sb.append(formatData(content1)); 
          break; 
         } //to remove last placed Commas. 

        } 

        System.out.println(sb.toString()); 
        sb.flush(); 
        sb.close(); 

結果:、B、C、D、E Iは例えば取得しています
結果:、A、B、C、D、E

答えて

0
StringBuffer sb = new StringBuffer(" "); 
    for (Iterator<Element> it = tdElements.iterator(); it.hasNext();) { 
        if (it.hasNext()) { 
         sb.deleteCharAt(sb.length() - 1); 
         sb.append(" \n "); 
        } 
        for (Iterator<Element> it2 = trElement2.iterator(); it.hasNext();) { 
         Element tdElement = it.next(); 
         final String content = tdElement.text(); 

         if (it2.hasNext()) { 
          sb.append(formatData(content)); 
          sb.append(","); 

         } 

         if (!it2.hasNext()) { 
          String content1 = content.replaceAll(",$", " "); 
          sb.append(formatData(content1)); 
          break; 
         } //to remove last placed Commas. 

        } 

        System.out.println(sb.toString()); 
        sb.flush(); 
        sb.close(); 


} 

イムinstance where it is trying to move to a new line私のコード に置き換えてみてください、文字列として渡されたspaceinstantiate stringbufferに確認してください。

+0

これを実行した後、最後の場所でコンマを取得し始めません。 –

+0

がもう一度変更を加えましたが、 'stringJoiner'を見てみる必要があるかもしれません。これは' stringJoiner'で非常に簡単です – Priyamal

+0

あなたのコードを試しましたが、まだ問題があります。 stringJoinerを使用しようとしていますが、エラーが発生しています。私は、javaバージョン、つまり1.7のために起こっていると思います。 –

3

あなたが開発している場合Java 8では、StringJoinerを使用することをお勧めします。この新しいクラスでは、自分で文字列を作成する必要はありません。 CSVを作成する例はStringJoinerhereです。

私はそれが役に立ちそうです。 removeあなたのケースでの,ある最後characterしようとして

+0

Javaバージョンを8に更新しました。しかし、今は新しいバグが発生しています。つまり、CSVファイルに1行しか追加されません。私はまだStringJoinerを使用していません。 –

+0

生コードごとにStringJoinerを定義し、コード抽出のようにコンソールに出力することができます。あなたの質問に答えるかどうか教えてください。 – joel314

関連する問題