将文件转化为字节数组

写了一个方法,直接用即可

/*** 将文件转化成字节数组** @param 要转换的文件路径* @return 转换成的字节数组* @throws IOException*/public static byte[] fileToByteArray(String filePath) throws IOException {// 创建源与目的地File fromfile = new File(filePath);// 选择流FileInputStream instream = new FileInputStream(fromfile);ByteArrayOutputStream outstream = new ByteArrayOutputStream();// 操作byte[] flush = new byte[1024 * 10];int len = -1;while ((len = instream.read(flush)) != -1) {outstream.write(flush, 0, len);}// 关闭流outstream.flush();instream.close();return outstream.toByteArray();}

将字符串转化为字节数组

这个比较简单,一行就完事

byte[] data = "这是一个字符串".getBytes()

将文件转化为十六进制字节数组的工具——输出效果(部分)

00000: 69 6D 70 6F 72 74 20 6A 61 76 61 2E 69 6F 2E 42
00010: 79 74 65 41 72 72 61 79 4F 75 74 70 75 74 53 74
00020: 72 65 61 6D 3B 0D 0A 69 6D 70 6F 72 74 20 6A 61
00030: 76 61 2E 69 6F 2E 46 69 6C 65 3B 0D 0A 69 6D 70
00040: 6F 72 74 20 6A 61 76 61 2E 69 6F 2E 46 69 6C 65
00050: 49 6E 70 75 74 53 74 72 65 61 6D 3B 0D 0A 69 6D
00060: 70 6F 72 74 20 6A 61 76 61 2E 69 6F 2E 46 69 6C
00070: 65 4F 75 74 70 75 74 53 74 72 65 61 6D 3B 0D 0A
00080: 69 6D 70 6F 72 74 20 6A 61 76 61 2E 69 6F 2E 49
00090: 4F 45 78 63 65 70 74 69 6F 6E 3B 0D 0A 69 6D 70
000A0: 6F 72 74 20 6A 61 76 61 2E 69 6F 2E 4F 75 74 70
000B0: 75 74 53 74 72 65 61 6D 3B 0D 0A 0D 0A 70 75 62
000C0: 6C 69 63 20 63 6C 61 73 73 20 4D 61 69 6E 20 7B
000D0: 0D 0A 0D 0A 09 2F 2F 20 28 E7 A1 AC E7 9B 98 E4
000E0: B8 AD 29 E5 9B BE E7 89 87 20 2D 3E 20 28 E5 86
000F0: 85 E5 AD 98 E4 B8 AD 29 E5 AD 97 E8 8A 82 E6 95
00100: B0 E7 BB 84 0D 0A 09 70 75 62 6C 69 63 20 73 74
00110: 61 74 69 63 20 62 79 74 65 5B 5D 20 66 69 6C 65
00120: 54 6F 42 79 74 65 41 72 72 61 79 28 53 74 72 69
00130: 6E 67 20 66 69 6C 65 50 61 74 68 29 20 74 68 72
00140: 6F 77 73 20 49 4F 45 78 63 65 70 74 69 6F 6E 20

工具代码

源码来自《JAVA编程思想》并稍加修改。留着备用~

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;public class Main {/*** 将文件转化成字节数组** @param 要转换的文件路径* @return 转换成的字节数组* @throws IOException*/public static byte[] fileToByteArray(String filePath) throws IOException {// 创建源与目的地File fromfile = new File(filePath);// 选择流FileInputStream instream = new FileInputStream(fromfile);ByteArrayOutputStream outstream = new ByteArrayOutputStream();// 操作byte[] flush = new byte[1024 * 10];int len = -1;while ((len = instream.read(flush)) != -1) {outstream.write(flush, 0, len);}// 关闭流outstream.flush();instream.close();return outstream.toByteArray();}/*** 将字节数组转换为十六进制,以优美的格式输出* * @param data* @return*/public static String format(byte[] data) {StringBuilder result = new StringBuilder();int n = 0;for (byte b : data) {if (n % 16 == 0)result.append(String.format("%05X: ", n));result.append(String.format("%02X ", b));n++;if (n % 16 == 0)result.append("\n");}result.append("\n");return result.toString();}public static void main(String[] args) throws Exception {// System.out.println(format("abcdefg".getBytes()));//将字符串转换为字节数组输出System.out.println(format(fileToByteArray("src/Main.java")));// 将文件转化为字节数组输出}
}

【Java文件操作】一个将文件转化为十六进制字节数组的工具(可以以8086汇编查看内存的格式输出,很优雅)相关推荐

  1. 在eclipse中将一个PNG图片转换成十六进制字节数组输出

    PNG图像有自己特殊的格式,而这个格式可以通过十六进制字节流很清楚地看出. 有关PNG格式的讲解我是参考这位老师的:http://www.cnblogs.com/lidabo/p/3701197.ht ...

  2. 读取Java文件到byte数组的三种方式及Java文件操作大全(包括文件加密,String加密)

    读取Java文件到byte数组的三种方式 package zs;import java.io.BufferedInputStream; import java.io.ByteArrayOutputSt ...

  3. Java编程那些事儿——文件操作之写文件

    Java编程那些事儿--文件操作之写文件 Java, Java培训, Java基础, Java学习, Java教程 11.3.1.4 写文件 如前所述,将程序内部的数据输出到程序外部的数据源,应该使用 ...

  4. java实现把一个大文件切割成N个固定大小的文件

    这个好像是我一年前去面试时的一道面试题,分享一下!考 java I/O 的! //java实现把一个大文件切割成N个固定大小的文件 package com.johnny.test; import ja ...

  5. java文件操作和_JAVA文件操作类和文件夹的操作

    JAVA文件操作类和文件夹的操作 package com.gamvan.tools; import java.io.BufferedReader; import java.io.File; impor ...

  6. Linux学习-文件IOA1——用结构体和文件操作函数实现文件的拷贝

    Linux学习-文件IOA1--用结构体和文件操作函数实现文件的拷贝 其实我们不必选用结构体去实现模仿拷贝功能的,但是为了锻炼我们的思维以及对结构体.文件操作函数的使用,所以我们就这样来折腾自己. 学 ...

  7. [Python从零到壹] 三.语法基础之文件操作、CSV文件读写及面向对象

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  8. php操作外部文件,php文件操作-将其他文件的数据添加到本文件中

    本篇文章的内容是php文件操作-将其他文件的数据添加到本文件中,现在分享给大家,有需要的朋友可以参考一下 GitHub源码 其实我们的程序基于下面的问题写的答案: 有两个文本文件 A.txt B.tx ...

  9. 【Python】文件操作(单文件操作)

    目录 一.文件操作概述: 二.文件基本操作: 文件操作步骤: 1.打开文件: 2.对文件进行读写操作: 3.关闭文件的输入输出流: demo: 文件访问模式: 基础访问模式特点: 读取操作: 1.re ...

最新文章

  1. (以pytorch为例)路径(深度)的正则化方法的简单理解-drop path
  2. Winserver2012R2 部署密钥恢复代理
  3. ASP.NET小知识
  4. css3 javascript 实现菜单按钮特效
  5. java 查询线程池_[代码全屏查看]-我的 Java 线程池测试类
  6. 解决升级mac os X EI Capitan后遇到LibclangError: dlopen(libclang.dylib, 6): image not found.的问题...
  7. 互联网运营遇到瓶颈?这套数据运营体系,高手和小白都必看
  8. Educational Codeforces Round 14 - F (codeforces 691F)
  9. C语言,利用一维数组和选择法对成绩高低排序,及输出对应的学号
  10. AlphaZero完胜三大世界冠军棋类程序:5000个TPU、自学一天
  11. 计算机英语900句.pdf,计算机英语900句第一章第一课:概貌
  12. 启用IIS6的GZIP功能,提高网站打开速度,减少带宽占用【转】
  13. golang 大数据平台_一文读懂数据平台、大数据平台、数据中台
  14. js页面跳转与url获取
  15. 颜色基础知识——CIE 1931色度坐标
  16. 两个华为路由器实现MESH组网,WIFI信号无缝漫游
  17. 堕落史话——一入学,就堕落
  18. 中国提取市场趋势报告、技术动态创新及市场预测
  19. mysql函数循环查询的数据_MySQL 查询树结构、循环查询、查看函数、视图、存储过程...
  20. sping全家桶笔记

热门文章

  1. 计算机重启如何进入设置界面,win7电脑无法正常启动,一开机就进入到bios设置界面怎么办?...
  2. TensorFlow2-卷积神经网络
  3. 【数据结构】栈-顺序栈、链式栈、共享栈
  4. 从蓝桥杯来谈Fibonacci数列
  5. Python数据库的连接
  6. HDU3255(线段树+扫描线)
  7. “白加黑”远控木马技术分析及手杀方案
  8. C/C++函数调用约定
  9. C++ STL 一般总结
  10. leetcode-876. 链表的中间结点解法