前回作成した、中途半端な表を完成させるのにはとても時間がかかるので、プログラムで作成することにしました。
そして、作ってみました。
その1
その2
プログラムの設計
前回は概要だけ記載しました。
しかし、このままでは意味がわからないので、下にまとめます。
設計開始
まずINとOUTを決めます。
IN: ファイルのパス
OUT: CSVファイル(書き出し)
そして、実装していきますが、はじめにテストケースを作成します。
@Test
public void testReadFile() {
String path = "resources/csv/materialCsv/1.Asia.csv";
target = new CSVReader();
List<String> list = null;
try {
list = target.readCSVAddID(path, null);
} catch(Exception e) {
e.printStackTrace();
fail();
}
assertNotNull(list);
assertEquals(25, list.size());
assertEquals(2, list.get(0).split(",").length);
}
対象のメソッド「readCSVAddID()」の第二引数は読み込んだファイルのデータにインデックスを追加するためにつけています。
そして、インデックスを追加しないときは「null」にするという仕様にしました。
テスト対象になる「CSVReader」が実装クラスです。
そして、実装したい処理をどこに書くのか?これは作成するメソッドに書きます。
なので、テストで使用する「readCSVAddID()」はメソッドの定義(中身が何もない状態)で作成します。
こんな感じです。細かい部分は実装した時の動画があるので下の動画をみていただくとわかりやすいと思います。
出力した結果
一応、CSVからマークダウンへの変換もJavaでやりました。
コードは下のような感じです。
public void convertCsvToMdTable(String path, String outPath, Integer index) throws Exception {
List<String> csvList = this.readCSVAddID(path, index);
PrintWriter write = null;
try {
write = new PrintWriter(new FileWriter(outPath));
String sep = System.lineSeparator();
for (String str : csvList) {
str = "| " + str.replace(", ", " |") + " |";
write.write(str + sep);
}
} catch(Exception e) {
e.printStackTrace();
throw e;
} finally {
write.close();
}
}
1.アジア
ID | CountryName | AreaID |
---|---|---|
0 | インド | 1 |
1 | インドネシア | 1 |
2 | カンボジア | 1 |
3 | シンガポール | 1 |
4 | スリランカ | 1 |
5 | タイ | 1 |
6 | 韓国 | 1 |
7 | 中国 | 1 |
8 | ネパール | 1 |
9 | パキスタン | 1 |
10 | バングラデシュ | 1 |
11 | 東ティモール | 1 |
12 | フィリピン | 1 |
13 | ブータン | 1 |
14 | ブルネイ | 1 |
15 | ベトナム | 1 |
16 | マレーシア | 1 |
17 | ミャンマー | 1 |
18 | モルディブ | 1 |
19 | モンゴル | 1 |
20 | ラオス | 1 |
21 | 北朝鮮 | 1 |
22 | 台湾 | 1 |
23 | 香港 | 1 |
24 | マカオ | 1 |
2.大洋州
ID | CountryName | AreaID |
---|---|---|
0 | オーストラリア | 2 |
1 | キリバス | 2 |
2 | クック諸島 | 2 |
3 | サモア | 2 |
4 | ソロモン諸島 | 2 |
5 | ツバル | 2 |
6 | トンガ | 2 |
7 | ナウル | 2 |
8 | ニウエ | 2 |
9 | ニュージーランド | 2 |
10 | バヌアツ | 2 |
11 | パプアニューギニア | 2 |
12 | パラオ | 2 |
13 | フィジー | 2 |
14 | マーシャル | 2 |
15 | ミクロネシア | 2 |
3.アメリカ大陸
ID | CountryName | AreaID |
---|---|---|
0 | 米国 | 3 |
1 | カナダ | 3 |
2 | アルゼンチン | 3 |
3 | アンティグア・バーブーダ | 3 |
4 | ウルグアイ | 3 |
5 | エクアドル | 3 |
6 | エルサルバドル | 3 |
7 | ガイアナ | 3 |
8 | キューバ | 3 |
9 | グアテマラ | 3 |
10 | グレナダ | 3 |
11 | コスタリカ | 3 |
12 | コロンビア | 3 |
13 | ジャマイカ | 3 |
14 | スリナム | 3 |
15 | セントビンセントおよびグレナディーン諸島 | 3 |
16 | セントクリストファー・ネービス | 3 |
17 | セントルシア | 3 |
18 | チリ | 3 |
19 | ドミニカ国 | 3 |
20 | ドミニカ共和国 | 3 |
21 | トリニダード・トバゴ | 3 |
22 | ニカラグア | 3 |
23 | ハイチ | 3 |
24 | パナマ | 3 |
25 | バハマ | 3 |
26 | パラグアイ | 3 |
27 | バルバドス | 3 |
28 | ブラジル | 3 |
29 | ベネズエラ | 3 |
30 | ベリーズ | 3 |
31 | ペルー | 3 |
32 | ボリビア | 3 |
33 | ホンジュラス | 3 |
34 | メキシコ | 3 |
4.ヨーロッパ
ID | CountryName | AreaID |
---|---|---|
0 | アイスランド | 4 |
1 | アイルランド | 4 |
2 | アゼルバイジャン | 4 |
3 | アルバニア | 4 |
4 | アルメニア | 4 |
5 | アンドラ | 4 |
6 | イタリア | 4 |
7 | ウクライナ | 4 |
8 | ウズベキスタン | 4 |
9 | 英国 | 4 |
10 | エストニア | 4 |
11 | オーストリア | 4 |
12 | オランダ | 4 |
13 | カザフスタン | 4 |
14 | 北マケドニア | 4 |
15 | キプロス | 4 |
16 | ギリシャ | 4 |
17 | キルギス | 4 |
18 | クロアチア | 4 |
19 | コソボ | 4 |
20 | サンマリノ | 4 |
21 | ジョージア | 4 |
22 | スイス | 4 |
23 | スウェーデン | 4 |
24 | スペイン | 4 |
25 | スロバキア | 4 |
26 | スロベニア | 4 |
27 | セルビア | 4 |
28 | タジキスタン | 4 |
29 | チェコ | 4 |
30 | デンマーク | 4 |
31 | ドイツ | 4 |
32 | トルクメニスタン | 4 |
33 | ノルウェー | 4 |
34 | バチカン | 4 |
35 | ハンガリー | 4 |
36 | フィンランド | 4 |
37 | フランス | 4 |
38 | ブルガリア | 4 |
39 | ベラルーシ | 4 |
40 | ベルギー | 4 |
41 | ポーランド | 4 |
42 | ボスニア・ヘルツェゴビナ | 4 |
43 | ポルトガル | 4 |
44 | マルタ | 4 |
45 | モナコ | 4 |
46 | モルドバ | 4 |
47 | モンテネグロ | 4 |
48 | ラトビア | 4 |
49 | リヒテンシュタイン | 4 |
50 | リトアニア | 4 |
51 | ルーマニア | 4 |
52 | ルクセンブルク | 4 |
53 | ロシア | 4 |
5.アフリカ
ID | CountryName | AreaID |
---|---|---|
0 | アルジェリア | 5 |
1 | アンゴラ | 5 |
2 | ウガンダ | 5 |
3 | エジプト | 5 |
4 | エスワティニ | 5 |
5 | エチオピア | 5 |
6 | エリトリア | 5 |
7 | ガーナ | 5 |
8 | カーボベルデ | 5 |
9 | ガボン | 5 |
10 | カメルーン | 5 |
11 | ガンビア | 5 |
12 | ギニア | 5 |
13 | ギニアビサウ | 5 |
14 | ケニア | 5 |
15 | コートジボワール | 5 |
16 | コモロ | 5 |
17 | コンゴ共和国 | 5 |
18 | コンゴ民主共和国 | 5 |
19 | サントメ・プリンシペ | 5 |
20 | ザンビア | 5 |
21 | シエラレオネ | 5 |
22 | ジブチ | 5 |
23 | ジンバブエ | 5 |
24 | スーダン | 5 |
25 | セーシェル | 5 |
26 | 赤道ギニア | 5 |
27 | セネガル | 5 |
28 | ソマリア | 5 |
29 | タンザニア | 5 |
30 | チャド | 5 |
31 | 中央アフリカ | 5 |
32 | チュニジア | 5 |
33 | トーゴ | 5 |
34 | ナイジェリア | 5 |
35 | ナミビア | 5 |
36 | ニジェール | 5 |
37 | ブルキナファソ | 5 |
38 | ブルンジ | 5 |
39 | ベナン | 5 |
40 | ボツワナ | 5 |
41 | マダガスカル | 5 |
42 | マラウイ | 5 |
43 | マリ | 5 |
44 | 南アフリカ | 5 |
45 | 南スーダン | 5 |
46 | モザンビーク | 5 |
47 | モーリシャス | 5 |
48 | モーリタニア | 5 |
49 | モロッコ | 5 |
50 | リビア | 5 |
51 | リベリア | 5 |
52 | ルワンダ | 5 |
53 | レソト | 5 |
関連ページ
Java Basic
- Java Basic Level 1 〜Hello Java〜
- Java Basic Level2 〜Arithmetic Calculate〜
- Java Basic Level3 〜About String class〜
- Java Basic Level 4〜Boolean〜
- Java Basic Level 5〜If Statement〜
- Java Basic Summary from Level1 to 5
- Java Basic Level 6 〜Traning of If statement〜
- Java Basic Level8 〜How to use for statement〜
- Java Basic Level 8.5 〜Array〜
- Java Basic Level 9〜Training of for statement〜
- Java Basic Level 10 〜While statement 〜
- Java Basic Swing〜オブジェクト指向〜
- Java Basic Swing Level 2〜オブジェクト指向2〜
- サンプル実装〜コンソールゲーム〜
- Java Basic インターフェース・抽象クラスの作り方
- Java Basic クラスとは〜Step2_1〜
- Java Basic JUnit 〜テストスイートの作り方〜