• Java解析文件内容


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

    博客地址: http://www.cnblogs.com/dwf07223,本文以学习、研究和分享为主,欢迎转载,转载请务必保留此出处。若本博文中有不妥或者错误处请不吝赐教。

  • 相关阅读:
    算法题:N皇后-2
    算法题:串联所有单词的子串
    算法题:二叉树的垂序遍历
    算法题:只出现一次的数字 三
    算法题:等价多米诺骨牌对的数量
    算法:判定字符是否唯一
    算法题:字符串相乘
    算法题:字符串的排列
    算法题:单词规律
    算法题:连通网络的操作次数
  • 原文地址:https://www.cnblogs.com/dwf07223/p/3999204.html
Copyright © 2020-2023  润新知