Я всегда создаю один и тот же метод независимо от моих потребностей, а затем адаптирую для него входные данные
public static void printAtFile(String filename, String header, String content[])
{
System.out.println("Start creating file "+filename);
PrintWriter writer = null;
try {
writer = new PrintWriter(filename);
writer.println(header);
for(String u:content)
writer.println(u);
writer.close();
} catch (Exception ex) {
System.out.println("Error while writing at file "+filename);
}
}
В этом случае вы хотите сделать что-то вроде
String h = "Column1,column2"
String content[] = new String[N];
Arrays.fill(content, "");
for(int i=0;i<N;i++)
{
if(...)content[i]="whateveryouwant,"+"blank";
else content[i]="blank,"+"whateveryouwant";
}
printAtFile("file.csv",h,content);