本文主要實現對.chk文件的解析,將其內容讀出來,存入到一個Map中,文件內容實例爲:html
A0500220140828.CHKjava
A05002 |34622511 |373532879 |3
識別分隔符|,代碼以下所示:apache
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 }
示例文件解析後顯示爲:spa
{interNo=A05002 , totalNum=34622511 , fileSize=373532879 , fileNum=3}
本文出自 「Forever Love」 博客,轉載請務必保留此出處http://www.cnblogs.com/dwf07223/p/3999204.html。
code