split()を使うとこんな感じになると思います。
この例では、それぞれの文字列中のカンマの個数は同じであることを前提としています。
public class Test1{
public static void main(String[] args){
String fname="test.csv";
String title="名前,年齢,性別";
String name="山田,田中,鈴木,佐藤";
String age="19,20,20,25";
String sex="男性,女性, ,男性";
// --->
String[] nameArray=name.split(",");
String[] ageArray=age.split(",");
String[] sexArray=sex.split(",");
// <---
try{
FileOutputStream fos=new FileOutputStream(fname);
OutputStreamWriter osw=new OutputStreamWriter(fos,"Shift_JIS");
BufferedWriter bw=new BufferedWriter(osw);
// --->
bw.write(title);
bw.write('\n');
int count=nameArray.length;
for(int i=0;i<count;i++){
bw.write(nameArray[i]);
bw.write(',');
bw.write(ageArray[i]);
bw.write(',');
bw.write(sexArray[i]);
bw.write('\n');
}
// <---
bw.close();
osw.close();
fos.close();
}
catch(Exception e){
}
}
}
補足
回答ありがとう御座います。 Splitを検索しましたが、使い方がよく分りませんでした。 public class Test1 { public static void main(String[] args) { String fname = "test.csv"; String title = "名前,年齢,性別"; String name = "山田,田中,鈴木,佐藤"; String age = "19,20,20,25"; String sex = "男性,女性, ,男性"; try{ FileOutputStream fos = new FileOutputStream(fname); OutputStreamWriter osw = new OutputStreamWriter(fos , "Shift_JIS"); BufferedWriter bw = new BufferedWriter(osw); bw.write(title); bw.write("\n"); bw.write(name); bw.write("\n"); bw.write(age); bw.write("\n"); bw.write(sex); bw.close(); osw.close(); fos.close(); }catch (Exception e){ } } } ---CSV出力として--- | 名前 | 年齢 | 性別 | ---------------- | 山田 | 19 | 男性 | ---------------- | 田中 | 20 | 女性 | ---------------- | 鈴木 | 20 | | ---------------- | 佐藤 | 25 | 男性 | としたいのです。 上のプログラムでは ---CSV--- | 名前 | 年齢 | 性別 | | --------------------- | 山田 | 田中 | 鈴木 | 佐藤 | --------------------- | 19 | 20 | 20 | 25 | --------------------- | 男性 | 女性 | | 男性 | となってしまいます。 Tokenizerを使って改行はできましたが、 Excelで言うセル(B2からなど)の指定などが 分らない為断念しました。 どうか、宜しくお願いします。