码迷,mamicode.com
首页 > 编程语言 > 详细

Java解析文件内容

时间:2014-09-29 01:19:36      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   color   io   os   ar   java   strong   

 

本文主要实现对.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}

  

Java解析文件内容

标签:des   style   blog   color   io   os   ar   java   strong   

原文地址:http://www.cnblogs.com/dwf07223/p/3999204.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!