我寫了一個創建和寫入CSV文件的函數。我的函數爲:如何在寫入java中的CSV文件時放置逗號?
private static void writeIntoCSV(GaData results, String filename){
try{
File f = new File("D:\\" + filename);
BufferedWriter output = new BufferedWriter(new FileWriter(f));
int i = 0;
for (ColumnHeaders header : results.getColumnHeaders()) {
i++;
if(i < header.size()){
output.write(header.getName() + ",");
i++;
}
else{
output.write(header.getName());
}
}
output.write("\n");
int j = 0;
for (List<String> row : results.getRows()) {
j++;
for (String column : row) {
if(j < row.size()){
output.write(column + ",");
j++;
}
else{
output.write(column);
}
}
output.write("\n");
j = 0;
}
output.close();
}
catch(Exception e){
System.out.println(e);
}
}
這裏的時候,我有兩個頭的正確像分隔條件是,B,但是當我有三個頭的分離爲:A,BC
我試圖改變的值i和地點喜歡:
int i = 1;
for (ColumnHeaders header : results.getColumnHeaders()) {
if(i < header.size()){
output.write(header.getName() + ",");
i++;
}
else{
output.write(header.getName());
}
}
output.write("\n");
在這種情況下,其表示標頭像A,b,對於兩個標頭以及a,b,c表示三個頭。我該如何解決這個問題來正確地放置逗號。
對於數據行其正常工作。
爲什麼不使用庫來編寫CSV?這也將照顧數據值內部的逗號等逗號。 http://stackoverflow.com/questions/101100/csv-api-for-java?rq=1 – Thilo
您的ColumnHeader#size()方法是否實際返回您認爲它的值?它可能偏離+/- 1。 –
錯誤代碼。什麼是'header.size()'返回?它是否返回標題的總數或標題名稱的大小? – Aakash