public void execute(String args[]) {
//---------------------------------------------------
TWMCMN1301U.startInfo(logger);
if(args.length != 1) {
TWMCMN1301U.error(logger,"TWMCMNE105", null); //ファイル名を正しく指定して下さい。
return;
}
List list = new ArrayList();
BufferedReader br = null;
int read_cnt = 0 ;
int ins_cnt = 0 ;
String str = null;
String szk = "";
try{
br = new BufferedReader(new FileReader(args[0]));
while((str = br.readLine()) != null) { //1行ずつ取り込み
byte[] strByte = str.getBytes();
final TWMBSD0301Bean row = new TWMBSD0301Bean();
row.setStrSyokuban(new String(strByte,0,6)); //職番
row.setStrSyozokuCd(new String(strByte,6,12)); //セクションコード
row.setStrKubun1(new String(strByte,48,1)); //上司区分
row.setStrKaikeiCd(new String(strByte,50,4)); //室課名
row.setStrSyozokuName(new String(strByte,74,30)); //セクション名
list.add(row);
read_cnt ++;
}
}catch(FileNotFoundException e){
TWMCMN1301U.error(logger,"TWMCMNE106","[FileName: " + args[0] + "]"); //指定されたファイルがありません
setThrowable(e);
return;
}catch(IOException e){
TWMCMN1301U.error(logger,"TWMCMNE109","[FileName: " + args[0] + "]"); //入力エラー(IOエラー)
setThrowable(e);
return;
}catch(StringIndexOutOfBoundsException e){
TWMCMN1301U.error(logger,"TWMCMNE111","[ErrorData : " + str + "]"); //読み込みデータがおかしい
setThrowable(e);
return;
}finally{
if(br != null){
try{
br.close();
}catch(IOException e){
TWMCMN1301U.error(logger,"TWMCMNE107", "[FileName: " + args[0] + "]"); //ファイルをクローズできませんでした
setThrowable(e);
return;
}
}
}
本文介绍了一个Java程序如何从文件中逐行读取数据,并将特定字段解析为不同的属性,存储在自定义的Java Bean对象中。重点在于处理文件输入输出操作、字符串解析以及异常处理。
2733

被折叠的 条评论
为什么被折叠?



