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读取二进制文件数据相关推荐

  1. Day1 Java读取二进制文件

    任务:练习Java读取二进制文件,读取文件的前64和最后64个字节. 推荐一个十六进制在线编辑器:HexEd.it - Browser-based Online and Offline Hex Ed. ...

  2. java读二进制bin文件内容_利用Java读取二进制文件示例详细解说

    前言 此文主要给大伙介绍了关于Java读取二进制文件的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 读Hex写CSV data目录下有little-endian bin文 ...

  3. Java读取Excel数据:基于Apache POI(一)

    Java读取Excel数据:基于Apache POI(一) Java本身不支持直接读取微软的Excel表格数据.第三方的Apache提供了一个库POI用以支持Java读写Excel表格数据. 首先需要 ...

  4. JAVA读取Excel数据

    JAVA读取Excel数据 下载 jxl.jar 导入jxl.jar 读取程序 写入Excel 写入txt 下载 jxl.jar 找到一个博主发的,下载好后去掉.zip后缀 jxl.jar下载 - 天 ...

  5. 项目实战 Java读取Excel数据

    项目实战 Java读取Excel数据 前言 实现步骤 导入POI依赖 示例Excel表结构 编写读取Excel工具类 实现思路 读取Excel数据工具类实现代码 取出从excel中获取的数据,并插入到 ...

  6. 信息管理代码分析二读取二进制文件数据

    first和end做为全局变量,分别指向链表的头和尾.建立链表的方式也比较简易,从二进制文件数据块中,依次从头到尾读取,每读取一个就建立一个结点. /*基本模型*/ EMP *emp1; while( ...

  7. Java读取串口数据

    本文主要实现读取员工刷卡信息 将淘宝买的刷卡IC卡读取器插入Windows笔记本的USB接口,安装驱动,设备管理器会自动添加一个模拟的COM3串口 本次使用的Java环境为 java version ...

  8. java 读取Excel数据(POI)(一个sheet或者多个sheet)

    1.添加依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml< ...

  9. java 读取串口数据

    串口资料 链接:https://pan.baidu.com/s/1jVO47WF7pCO6kDLezsBZ0g 提取码:hgwn 这段时间遇到了读取串口数据的需求,吭哧吭哧搞了两三天才搞出来,惭愧,所 ...

最新文章

  1. lisp天正图元位置修改_块内图元的坐标定位[已解决]感谢版主
  2. poj 1284 Primitive Roots(原根+欧拉函数)
  3. 如何通过ip地址查找PC接在交换机的某个端口
  4. 如何以sys用户登录oracle,在Oracle 10g 中如何以sys的身份登录isqlplus页面
  5. java.lang.InstantiationException 不能实例化某个对象
  6. 集团化后的挚文还有很多“新故事”可以讲
  7. 5分钟在超能云(SuperVessel)上免费创建属于自己的大数据环境
  8. windows7远程linux,用XManager在Windows7下远程桌面连接Linux
  9. 西宁a货翡翠,孝感a货翡翠
  10. ap接口 php_小白php API初体验 php api文档 php api接口开发 php web ap
  11. 苹果全新10.2英寸iPad再爆实锤 或造成史上最乱的iPad产品线
  12. 容器 10 年,Docker 6 年
  13. androidpn的学习研究(七)Androidpn-server的添加其他xmpp相关的协议(如查看好友列表等)...
  14. 1023. 组个最小数 (20)-PAT乙级真题
  15. oracle rpad()函数
  16. em gmm matlab,EM方法解高斯混合模型(GMM)Matlab实现
  17. 保存网页文章为PDF文件
  18. php 怎么实现空间点赞,【点赞源码】QQ空间自动点赞PHP源码
  19. iOS 获取权限描述本地化
  20. Android模拟器使用SD卡(2)

热门文章

  1. 支付宝生活号开发(php)
  2. Centos7安装Nessus教程
  3. 【Wannafly Camp day 2】【Legilimens Contest 3】
  4. 腾讯通服务器历史文件路径,腾讯通RTX管理器打开时提示找不到数据源,怎么办?...
  5. java float to byte_java float数组转byte数组,byte数组转float数组
  6. 有三个数abc 要求按大小顺序把它们输出_幼儿园中班数学教案按规律排序活动教学设计三篇【幼儿教师教案】...
  7. Android组件化原理
  8. MDT 2013 从入门到精通之自动化部署配置
  9. 高中混迹IT圈的人,在大学会怎么样?
  10. mysql fulltext match_使用Mysql全文搜索Full-Text (fulltext和 match...against)