Java解析文件內容

 

本文主要實現對.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

相關文章
相關標籤/搜索