Java解析文件内容
本文主要实现对.chk文件的解析,将其内容读出来,存入到一个Map中,文件内容实例为:
A0500220140828.CHK
A05002 |34622511 |373532879 |3
识别分隔符|,代码如下所示:
package com.src.factory; import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.LinkedHashMap;
import java.util.Map; import org.apache.log4j.Logger; public class ChkFileParseFactroy { static Logger logger = Logger.getLogger(ChkFileParseFactroy.class); /**
* @Title: fileParsing
* @Description: TODO(这里用一句话描述这个方法的作用)
* @最后修改时间:Aug 14, 2014 11:02:26 AM
* @param fileReader
* @throws IOException 对方法的参数进行描述
* @return Map<String,String> 返回类型
*/
public Map<String, String> fileParsing(File file) { if(file == null ){
return null;
} Map<String, String> fileReadMap = new LinkedHashMap<String, String>();
String alineString = null;
BufferedReader bufferedReader = null;
FileReader fileReader = null;
try {
fileReader = new FileReader(file);
bufferedReader = new BufferedReader(fileReader);
alineString = bufferedReader.readLine(); //读取第一行数据
if (alineString != null) { //判断文件是否为空
String[] readArray = alineString.split("\\|"); //拆分读取的数据
if(readArray.length == 4){ //判断文件格式是否符合
fileReadMap.put("interNo", readArray[0]); //Map第一个键存放接口号
fileReadMap.put("totalNum", readArray[1]); //Map第二个键存放记录条数
fileReadMap.put("fileSize", readArray[2]); //Map第三个键存放文件大小
fileReadMap.put("fileNum", readArray[3]); //Map第四个键存放文件数
} else {
logger.error("Error of File Format!");
}
} else {
logger.error("The File is Empty!");
}
} catch (IOException e1) {
e1.printStackTrace();
} finally { try{
if(null != bufferedReader)
bufferedReader.close();
}catch(Exception e){
e.printStackTrace();
}
try{
if(null != fileReader)
fileReader.close();
}catch(Exception e){
e.printStackTrace();
}
}
return fileReadMap;
}
}
示例文件解析后显示为:
{interNo=A05002 , totalNum=34622511 , fileSize=373532879 , fileNum=3}
本文出自 “Forever Love” 博客,转载请务必保留此出处http://www.cnblogs.com/dwf07223/p/3999204.html。
Java解析文件内容的更多相关文章
- java swing文件内容检索工具
Java相关技术 - 文件内容检索工具 拿到一个几百M甚至上G的project让你去学习 有时候你会想知道某个关键词是在哪个文件里 比如:spring MVC配置的@RequestMapping,你从 ...
- java解析文件
遇到两个小坑: 1.使用String.split,部分分隔符需要转义:https://www.cnblogs.com/mingforyou/archive/2013/09/03/3299569.htm ...
- java读取文件内容常见几种方式
①随机读取文件内容 ②以行为单位读取文件,常用于读面向行的格式化文件 ③以字符为单位读取文件,常用于读文本,数字等类型的文件 ④以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件 pa ...
- java读取文件内容
获取文件内容 picurl = "http://www.baidu.com/data.txt"; URL urlfile = new URL(picurl); BufferedRe ...
- java修改文件内容
文件的读和写,大家都不陌生,但是修改呢?按照普通的读写流去修改的话,只能全部读取出来,在内存中修改好后,全部写进去,这样对于文件内容过多的时,性能很低. 最近在遇到这个问题的时候,发现RandomAc ...
- Java追加文件内容的三种方法
import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io. ...
- Springboot 上传excel并解析文件内容
最近在做一个物业的系统,需要通过excel上传业主的信息,解析并入库. 参考:https://www.cnblogs.com/jyyjava/p/8074322.html 话不多说,直接上核心代码 i ...
- java读取文件内容并输出到控制台,java中实现文件复制
public class TestFileInputStream { public static void main(String [] args) { //读取指定文件中内容,并在控制台输出 Fil ...
- java 实现文件内容的加密和解密
package com.umapp.test; import java.io.FileInputStream; import java.io.FileOutputStream; import java ...
随机推荐
- 机器学习-RBF高斯核函数处理
机器学习-RBF高斯核函数处理 SVM高斯核函数-RBF优化 重要了解数学的部分: 协方差矩阵,高斯核函数公式. 个人建议具体的求法还是看下面的核心代码吧,更好理解,反正就我个人而言,烦躁的公式,还 ...
- CSS中常用的简写模式
一.font属性简写 font-style:字体样式 normal 默认值.浏览器显示一个标准的字体样式. italic 浏览器会显示一个斜体的字体样式. oblique 浏览器会显示一个倾斜的字体样 ...
- Codeforces Round #177 (Div. 1 + Div. 2)
A. Polo the Penguin and Segments 模拟. B. Polo the Penguin and Matrix 每个数字模d余数必须一样. 枚举结果,可计算操作次数,取最小. ...
- VC++ CMsflexgrid 使用
引用actvie x :microsoft CMsflexgrid; BOOL CCalibrationCoordsDisDlg::OnInitDialog() { CDialog::OnInitDi ...
- 【37.48%】【hdu 2587】How far away ?(3篇文章,3种做法,LCA之树上倍增)
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...
- 这群程序员疯了!他们想成为IT界最会带货的男人
随着网红主播越来越火,通过直播带货种草的形式也成了今年双12的热点. 不过,网红主播带货早已见怪不怪,但你们见过程序员直播带货吗!? 近日,趁着阿里云双12年末采购节,阿里云邀请了一波程序员GG来为大 ...
- androidBLE dfu升级使用及可能出现的问题
android-dfu-library是nordic提供的对nRF5x芯片固件进行空中升级的库,地址是https://github.com/NordicSemiconductor/Android-DF ...
- Qt StyleSheet皮肤css源码(黑色,超详细) 乌合之众 good
使用方式如下 //设置皮肤样式 static void SetStyle(const QString &styleName) { QFile file(QString(":/imag ...
- 洛谷p2149----两个终点和两个起点,最短路最大交汇长度!!!
说实话,这题真第一次见,学到了不少有趣的东西,因吹丝汀!! 思路:因为不可能同时并行和相遇(我也不知道为啥,等我会证明了就来说说) 所以正向建边再反向建边,拓扑排序+dp求最下长路,记录下最大的就是解 ...
- 【题解】BZOJ5093图的价值(二项式+NTT)
[题解]BZOJ5093图的价值(二项式+NTT) 今天才做这道题,是我太弱了 强烈吐槽c++这种垃圾语言tmd数组越界不re反倒去别的数组里搞事情我只想说QAQ 推了一张A4纸的式子 考虑每个点的度 ...