本文主要实现对.chk文件的解析,将其内容读出来,存入到一个Map中,文件内容实例为:
A0500220140828.CHK
A05002 |34622511 |373532879 |3
识别分隔符|,代码如下所示:
1 package com.src.factory; 2 3 import java.io.BufferedReader; 4 import java.io.File; 5 import java.io.FileReader; 6 import java.io.IOException; 7 import java.util.LinkedHashMap; 8 import java.util.Map; 9 10 import org.apache.log4j.Logger; 11 12 public class ChkFileParseFactroy { 13 14 static Logger logger = Logger.getLogger(ChkFileParseFactroy.class); 15 16 /** 17 * @Title: fileParsing 18 * @Description: TODO(这里用一句话描述这个方法的作用) 19 * @最后修改时间:Aug 14, 2014 11:02:26 AM 20 * @param fileReader 21 * @throws IOException 对方法的参数进行描述 22 * @return Map<String,String> 返回类型 23 */ 24 public Map<String, String> fileParsing(File file) { 25 26 if(file == null ){ 27 return null; 28 } 29 30 Map<String, String> fileReadMap = new LinkedHashMap<String, String>(); 31 String alineString = null; 32 BufferedReader bufferedReader = null; 33 FileReader fileReader = null; 34 try { 35 fileReader = new FileReader(file); 36 bufferedReader = new BufferedReader(fileReader); 37 alineString = bufferedReader.readLine(); //读取第一行数据 38 if (alineString != null) { //判断文件是否为空 39 String[] readArray = alineString.split("\|"); //拆分读取的数据 40 if(readArray.length == 4){ //判断文件格式是否符合 41 fileReadMap.put("interNo", readArray[0]); //Map第一个键存放接口号 42 fileReadMap.put("totalNum", readArray[1]); //Map第二个键存放记录条数 43 fileReadMap.put("fileSize", readArray[2]); //Map第三个键存放文件大小 44 fileReadMap.put("fileNum", readArray[3]); //Map第四个键存放文件数 45 } else { 46 logger.error("Error of File Format!"); 47 } 48 } else { 49 logger.error("The File is Empty!"); 50 } 51 } catch (IOException e1) { 52 e1.printStackTrace(); 53 } finally { 54 55 try{ 56 if(null != bufferedReader) 57 bufferedReader.close(); 58 }catch(Exception e){ 59 e.printStackTrace(); 60 } 61 try{ 62 if(null != fileReader) 63 fileReader.close(); 64 }catch(Exception e){ 65 e.printStackTrace(); 66 } 67 } 68 return fileReadMap; 69 } 70 }
示例文件解析后显示为:
{interNo=A05002 , totalNum=34622511 , fileSize=373532879 , fileNum=3}
本文出自 “Forever Love” 博客,转载请务必保留此出处http://www.cnblogs.com/dwf07223/p/3999204.html。