テーブルデータをテキストに保存した時、
テキストを読み込んで
List<Map>に格納する手段。
サンプルソース------------------------------------------------------------
/* インポート*/
import java.io.*;
import java.util.*;
import java.text.*;
/* カラムの設定 */
String[] colum = {"ID","NAME","GROUP","TEL"};
/* ファイルを 1 行ずつ読み込む */
FileReader in = new FileReader("HMS_SYUKKA.TXT.20090120.txt");
BufferedReader br = new BufferedReader(in);
ArrayList<HashMap> list = new ArrayList<HashMap>();
String line = "";
String[] strAry = new String[4];
while ((line = br.readLine()) != null) {
HashMap<String,String> map = new HashMap<String, String>();
int i = 0;
strAry[i] = subString(0,7); // 全角も1文字と判断するので
strAry[i] = subString(7,27); // バイト数でカウントしたい時は
// [getByte]等で処理をする。
/* カラムとデータをMapに格納 */
for(i=0 ;i < strAry.length; i++){
map.put(colum[i], strAry[i]);
}
/* ハッシュマップを1件毎にリストに格納 */
list.add(map);
}
/* リスト出力 */
for(int i = 0; i < list.size(); i++){
HashMap map_out = (HashMap)list.get(i);
for(int j = 0 ; map_out.get(colum[j]) != null ; j++){
System.out.print(map_out.get(colum[j]));
}
System.out.println("");
}
/* クローズ */
br.close();
in.close();
--------------------------------------------------------------------------
※JDK1.5からLinkやMapの宣言時に
【Link<String>】の様に型を指定しないと警告文が出てきます。
PR