I have written a function which creates and writes into CSV file. My function is as follow:
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);
}
}
Here when I have two headers its seperating it properly like a,b but when I have three headers its separating as: a,bc
I tried to change the the value and place of i like:
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");
In this case its showing headers like a,b, for two headers and a,b,c for three headers. How can I resolve this to place comma properly.
For data rows its working properly.