2011-01-23 3 views
0

が必要:私はJavaを使用してCSVファイルにデータを追加するために、次のコードを使用していますJavaでCSVファイルにデータを書き込むのヘルプ

fw.append("Company Name"); 
fw.append(','); 
fw.append(','); 
fw.append(','); 
fw.append("Addres"); 
fw.append(','); 
fw.append("Phones"); 
fw.append(','); 
fw.append("Faxes"); 
fw.append(','); 
fw.append("Websites"); 
fw.append(','); 
fw.append('\n'); 
fw.append(companyName); 
fw.append(','); 
fw.append(address); 
fw.append(','); 
fw.append(phones); 
fw.append(','); 
fw.append(faxes); 
fw.append(','); 
fw.append(websites); 
fw.append(','); 
fw.append('\n'); 
fw.flush(); 

しかし、私は適切でCSVファイルに結果を取得しておりません上記のコードに従って必要に応じてフォーマットしてください。

問題の解決にお手伝いをしてください。

ありがとうございます。代わりにこれを行うの

よろしく

+0

あなたはあなたが見ているものについてより具体的になるかもしれませんか? –

+1

このコードが書いている書式を投稿して、なぜ書式が壊れていると思うのかを述べてください。 –

答えて

4

、すでに一般的なCSVの書き込みの問題に対処し、オープンソース・ソリューションを活用検討してください。

http://opencsv.sourceforge.net/

+0

しかし、この方法を使ってこの問題を解決してください。この回答にお答えください –

+0

この回答と同じ静脈で、http: /kasparov.skife.org/csv/ – nrobey

+1

@Ankur:このメソッドを使用すると、データを適切なメモリ内構造にすることに焦点を当てることができ、CSVWriterにディスクへのエンコーディングの詳細を処理させることができます(適切なCSV方式で、CSV関連のエスケープ、エンコーディングなどを利用する) – kvista

0

あなたは;代わりの,を使用する必要があります。

+2

である必要はありません。それはアプリケーションによって異なります。 '、'を小数点の区切り記号(1,23)として使用するロケールでは、 ';'を使用することがよくあります。レコード間。レコード間で '、'を使用しないロケール(1.23)。 –

0
fw.append("Company Name"); 
       fw.append(','); // <-- extra 
       fw.append(','); // <-- extra 
       fw.append(','); 
       fw.append("Addres"); 

これは、csvに余分なフィールドを作成し、対応する行からヘッダーをオフセットします。

fw.append('\n'); 
       fw.append(companyName); 
       fw.append(','); // <-- only one comma, not three 
       fw.append(address); 
       fw.append(','); 
       fw.append(phones); 
関連する問題