KENスクールブログ | パソコン教室・パソコン講座なら個別指導のKENスクール

BLOGKENスクールブログ

  1. KENスクール TOP >
  2. KENスクールブログ > プログラム > Javaで表形式のデータを読み込む

プログラム

Javaで表形式のデータを読み込む

Excelで出力できるファイル形式の一つにCSVファイルがあります。
このファイルはExcelの表形式のデータをカンマ区切りでテキストにしたものになります。

図)Excel編集画面

先のExcelファイルをCSVファイルに変換したものが下図になります。

図)CSVファイルの中身


このような表形式のデータを読み込んでプログラムで利用する場合には、Stringクラスのsplitメソッドが役に立ちます。
今回はCSVファイルを読み込んで、二次元配列へ表形式に格納して出力してみます。

サンプルプログラム

  1. BufferedReaderクラスのreadLineメソッドを使用して、ファイル内の1行分のデータをbufに読み込みます。
     この結果bufは、区切りのカンマを含めて”1,2,3,4,5,”という1つの文字列となります。
  2. bufをStringクラスのsplitメソッドを使用して、文字列内のカンマで区切った配列に変換します。
     この結果、配列strには{“1″,”2″,”3″,”4″,”5”}の様なデータが格納されます。
  3. 列数分だけループして②のデータを二次元配列mapに格納していきます。
  4. 今回は二次元配列に表形式になるようにデータを格納するため、過不足無い要素数の配列が必要です。
     そのためにCSVファイルの先頭行に列数と行数を記述していますので、まずそれを読み込みます。
     i=0の時が先頭行の読み込みになります。j=0なら列数、j=1なら行数が得られますので、それを元に二次元配列を生成します。
  5. 先頭行以外はCSVファイルのデータ部となりますので、1件ずつ二次元配列mapに格納していきます。
  6. 最後にmapを表形式で出力しています。

図)出力結果

サンプルプログラムでは読み込みんだデータを単に出力しているのみですが、書き込みや、読み込んだデータを用いた計算や条件分岐ももちろん可能です。

今回はExcelを使ってCSVファイルを作成しましたが、テキストエディターでもCSVファイルは作成できますので試してみてください。

表形式のデータは様々な分野で利用されます。
一度、練習しておくとよいでしょう。