java读取二进制文件数据
java读取二进制文件数据
- 1.读取文件信息
java提供多种读取方式:
/*** 按字节读取文件数据* @param fileName 文件路径包括文件名*/public static void readFileByBytes(String fileName) {try {//传入文件路径fileName,底层实现 new FileInputStream(new File(fileName));相同FileInputStream in = new FileInputStream(fileName);//每次读10个字节,放到数组里byte[] bytes = new byte[10];int c;while((c=in.read(bytes))!=-1){System.out.println(Arrays.toString(bytes));}} catch (Exception e) {// TODO: handle exception}}
/*** 按字符读取文件数据* @param fileName 文件路径包括文件名*/public static void readFileByChar(String fileName) {try {//传入文件路径fileName,底层实现 new FileInputStream(new File(fileName));相同FileInputStream in = new FileInputStream(fileName);//注意根据文件编码格式指定InputStreamReader的编码InputStreamReader reader = new InputStreamReader(in,"ASCII");//按字符读取,将以下的bytes替换成charschar[] chars = new char[10];int c;while((c=reader.read(chars))!=-1){System.out.println(Arrays.toString(chars));}} catch (Exception e) {// TODO: handle exception}}
/*** 按行读取文件数据* @param fileName 文件路径包括文件名*/public static void readFileByLine(String fileName) {try {//传入文件路径fileName,底层实现 new FileInputStream(new File(fileName));相同FileInputStream in = new FileInputStream(fileName);//注意根据文件编码格式指定InputStreamReader的编码InputStreamReader reader = new InputStreamReader(in,"ASCII");//BufferedReader bufferedReader = new BufferedReader(reader);String line;while((line=bufferedReader.readLine())!=null){System.out.println(line);}bufferedReader.close();} catch (Exception e) {// TODO: handle exception}}
- 2.截取指定字节数据
/***根据编码格式截取指定字节数的字符串* * @param str 要截取的字符串* @param bytes 截取的字节数* @param charSetName 编码格式* @return*/public static String subStringByBytes(String str, int bytes,String charSetName) {String subAfter = str.substring(0, bytes);int temp = bytes;try {//因为编码格式不一样所占字符也不一样//直到截取的字符串的字节数 和 需要的 截取的字节数相等位为止while(bytes < subAfter.getBytes(charSetName).length){subAfter = subAfter.substring(0,--temp );}} catch (UnsupportedEncodingException e) {e.printStackTrace();}return subAfter;}
- 3.实现读取二进制文件,并截取数据
public class DemoApplicationTests {public static void main(String[] args) {String fileName = "E:\\work\\Read_AccpuntMsg.dat";readFileByLine(fileName);}/*** 按行读取文件数据* @param fileName 文件路径包括文件名*/public static void readFileByLine(String fileName) {try {//传入文件路径fileName,底层实现 new FileInputStream(new File(fileName));相同FileInputStream in = new FileInputStream(fileName);//注意根据文件编码格式指定InputStreamReader的编码InputStreamReader reader = new InputStreamReader(in,"ASCII");//BufferedReader bufferedReader = new BufferedReader(reader);String line;while((line=bufferedReader.readLine())!=null){//行数据处理System.out.println(line);//截取行数据前21个字节的数据String ascii = subStringByBytes(line, 21, "ASCII");System.out.println("name>>>"+ascii);//将上一步截取的21个字节数据去掉,String s = line.replaceFirst(ascii,"");//在新的字符串上截取前2个字节的数据String ascii1 = subStringByBytes(s, 2, "ASCII");System.out.println("sex>>>"+ascii1);}bufferedReader.close();} catch (Exception e) {// TODO: handle exception}}
}
java读取二进制文件数据相关推荐
- Day1 Java读取二进制文件
任务:练习Java读取二进制文件,读取文件的前64和最后64个字节. 推荐一个十六进制在线编辑器:HexEd.it - Browser-based Online and Offline Hex Ed. ...
- java读二进制bin文件内容_利用Java读取二进制文件示例详细解说
前言 此文主要给大伙介绍了关于Java读取二进制文件的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 读Hex写CSV data目录下有little-endian bin文 ...
- Java读取Excel数据:基于Apache POI(一)
Java读取Excel数据:基于Apache POI(一) Java本身不支持直接读取微软的Excel表格数据.第三方的Apache提供了一个库POI用以支持Java读写Excel表格数据. 首先需要 ...
- JAVA读取Excel数据
JAVA读取Excel数据 下载 jxl.jar 导入jxl.jar 读取程序 写入Excel 写入txt 下载 jxl.jar 找到一个博主发的,下载好后去掉.zip后缀 jxl.jar下载 - 天 ...
- 项目实战 Java读取Excel数据
项目实战 Java读取Excel数据 前言 实现步骤 导入POI依赖 示例Excel表结构 编写读取Excel工具类 实现思路 读取Excel数据工具类实现代码 取出从excel中获取的数据,并插入到 ...
- 信息管理代码分析二读取二进制文件数据
first和end做为全局变量,分别指向链表的头和尾.建立链表的方式也比较简易,从二进制文件数据块中,依次从头到尾读取,每读取一个就建立一个结点. /*基本模型*/ EMP *emp1; while( ...
- Java读取串口数据
本文主要实现读取员工刷卡信息 将淘宝买的刷卡IC卡读取器插入Windows笔记本的USB接口,安装驱动,设备管理器会自动添加一个模拟的COM3串口 本次使用的Java环境为 java version ...
- java 读取Excel数据(POI)(一个sheet或者多个sheet)
1.添加依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml< ...
- java 读取串口数据
串口资料 链接:https://pan.baidu.com/s/1jVO47WF7pCO6kDLezsBZ0g 提取码:hgwn 这段时间遇到了读取串口数据的需求,吭哧吭哧搞了两三天才搞出来,惭愧,所 ...
最新文章
- lisp天正图元位置修改_块内图元的坐标定位[已解决]感谢版主
- poj 1284 Primitive Roots(原根+欧拉函数)
- 如何通过ip地址查找PC接在交换机的某个端口
- 如何以sys用户登录oracle,在Oracle 10g 中如何以sys的身份登录isqlplus页面
- java.lang.InstantiationException 不能实例化某个对象
- 集团化后的挚文还有很多“新故事”可以讲
- 5分钟在超能云(SuperVessel)上免费创建属于自己的大数据环境
- windows7远程linux,用XManager在Windows7下远程桌面连接Linux
- 西宁a货翡翠,孝感a货翡翠
- ap接口 php_小白php API初体验 php api文档 php api接口开发 php web ap
- 苹果全新10.2英寸iPad再爆实锤 或造成史上最乱的iPad产品线
- 容器 10 年,Docker 6 年
- androidpn的学习研究(七)Androidpn-server的添加其他xmpp相关的协议(如查看好友列表等)...
- 1023. 组个最小数 (20)-PAT乙级真题
- oracle rpad()函数
- em gmm matlab,EM方法解高斯混合模型(GMM)Matlab实现
- 保存网页文章为PDF文件
- php 怎么实现空间点赞,【点赞源码】QQ空间自动点赞PHP源码
- iOS 获取权限描述本地化
- Android模拟器使用SD卡(2)
热门文章
- 支付宝生活号开发(php)
- Centos7安装Nessus教程
- 【Wannafly Camp day 2】【Legilimens Contest 3】
- 腾讯通服务器历史文件路径,腾讯通RTX管理器打开时提示找不到数据源,怎么办?...
- java float to byte_java float数组转byte数组,byte数组转float数组
- 有三个数abc 要求按大小顺序把它们输出_幼儿园中班数学教案按规律排序活动教学设计三篇【幼儿教师教案】...
- Android组件化原理
- MDT 2013 从入门到精通之自动化部署配置
- 高中混迹IT圈的人,在大学会怎么样?
- mysql fulltext match_使用Mysql全文搜索Full-Text (fulltext和 match...against)