A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
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){
}
}
}
No.1
- 回答日時:
今、マニュアル読んだ。
String#split() でよろしかろ。
この回答への補足
回答ありがとう御座います。
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からなど)の指定などが
分らない為断念しました。
どうか、宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- Excel(エクセル) Excelマクロの差分抽出のコードを教えていただきたいです。 2 2023/03/14 11:40
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 1 2022/10/27 14:21
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Visual Basic(VBA) マクロを教えてください。 7 2023/06/01 19:47
- Java Javaの問題なのですが、「3文字以上の英数字文字列を入力し、文字列の中に文字(9)が出てくるまでの 1 2023/06/06 18:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
System.err. printlnとSystem.o...
-
Javaで改行などが出来ないのです。
-
Log4jで機能毎に別ファイルへ出...
-
1~100までの数字を表示し、か...
-
Javaの問題なのですが、 永久ル...
-
switch分が機能しません。
-
一定のスペースを空けて端を揃...
-
JAVAのServletで、画像表示につ...
-
system.out.printが出力されない
-
flush()とclose()について
-
Tomcatが無応答となる現象が起...
-
POIでExcelに時刻(h:mm)の値を...
-
System.out.printlnの出力先
-
Java 九九の表について
-
log4jについて
-
ダブルクォーテーション(””)...
-
Log4Jではログを改行できない?
-
Apache POI のログについて
-
JSPでのmysql操作(count)
-
log4jでスタックトレースを出力...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
System.err. printlnとSystem.o...
-
Javaで改行などが出来ないのです。
-
1~100までの数字を表示し、か...
-
system.out.printが出力されない
-
1~100までの数字を表示したい
-
System.out.printlnの出力先
-
一定のスペースを空けて端を揃...
-
flush()とclose()について
-
Log4jで機能毎に別ファイルへ出...
-
Tomcatが無応答となる現象が起...
-
行列の表示
-
InputStreamはreadが1回しかで...
-
数字文字列をパック10進数に変...
-
switch分が機能しません。
-
System.out.printlnの意味がよ...
-
JavaScriptの変数をjavaのメソ...
-
Log4Jではログを改行できない?
-
テキストエリアで改行する
-
【SQLServer接続のJSPの記述を...
-
CSVファイルへ出力
おすすめ情報
