字节流-文件输入流FileInputStream[基本使用]
2023-06-13 09:14:21 时间
/**
* @Author: www.itze.cn
* @Date: 2020/9/24 10:29
* @Email: 814565718@qq.com
*/
/**
* 读取一个文件,然后每10个字节换行
*
* @param fileName
*/
public static void printHex(String fileName) {
int b;
int a = 1;
try {
//把文件作为字节流操作
FileInputStream fis = new FileInputStream(fileName);
while ((b = fis.read()) != -1) { //每次只读一个字节
//以16进制
System.out.print(Integer.toHexString(b) + " ");
if (a++ % 10 == 0) { //每10个字节换行
System.out.println();
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 将一个文件读到byte数组中
*
* @param fileName
*/
public static void printHexByByteArrays(String fileName) {
try {
//把文件作为字节流操作
FileInputStream fis = new FileInputStream(fileName);
byte[] bytes = new byte[10 * 1024]; //1024个字节=1KB 10*1024=10KB
int i = 1;
//把文件读到byte数组中,并且放入从0-bytes.length的位置,返回值read为读到的字节个数
int read = fis.read(bytes, 0, bytes.length);
for (int j = 0; j < read; j++) { //这里只遍历读到个字节个数
System.out.print(Integer.toHexString(bytes[j]) + " ");
if (i++ % 10 == 0) { //每10个字节换行
System.out.println();
}
}
//当数组不够大的时候一次性无法读完,使用循环去读
int readBteys;
while ((readBteys = fis.read(bytes, 0, bytes.length)) != -1) {
for (int j = 0; j < readBteys; j++) {
System.out.print(Integer.toHexString(bytes[j]) + " ");
if (i++ % 10 == 0) { //每10个字节换行
System.out.println();
}
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
相关文章
- JVM底层—Java Class字节码文件解析
- Idea如何方便的查看Java字节码文件,你是怎么做的
- 【Java 虚拟机原理】Class 字节码二进制文件分析 一 ( 字节码文件附加信息 | 魔数 | 次版本号 | 主版本号 | 常量池个数 )
- 【Java 虚拟机原理】Class 字节码二进制文件分析 四 ( 字段表数据结构 | 字段表详细分析 | 访问标志 | 字段名称 | 字段描述符 | 属性项目 )
- 【开发环境】Android 命令行中执行 Java 程序 ( IntelliJ IDEA 中创建 Java / Kotlin 工程 | dx 打包 DEX 字节码文件 | dalvikvm 命令 )
- 【Android 逆向】类加载器 ClassLoader ( 使用 DexClassLoader 动态加载字节码文件 | 拷贝 DEX 文件到内置存储 | 加载并执行 DEX 字节码文件 )
- 【Android 逆向】启动 DEX 字节码中的 Activity 组件 ( DEX 文件准备 | 拷贝资源目录下的文件到内置存储区 | 配置清单文件 | 启动 DEX 文件中的组件 | 执行结果 )
- 【Groovy】Groovy 脚本调用 ( Groovy 脚本编译 | Groovy 脚本字节码文件分析 )
- 如何使用CertVerify扫描文件中不受信任或不安全的代码签名证书
- Java遍历文件夹下所有文件并替换指定字符串详解编程语言
- Linux下安全彻底删除文件的方法(linux安全删除文件)
- 权限Linux下修改文件组权限的操作指南(linux修改文件组)
- Linux调试神器0字节文件(linux0字节文件)
- 快速查看Redis密码的简单方法(查看redis密码 文件)
- 分析Oracle数据库中的dump文件(dump文件oracle)
- Oracle中利用UDF实现中文文件写入(oracle中文件写入)
- 文件使用Redis读取rdb文件的简单步骤(redis读取 rdb)
- CI框架源码阅读,系统常量文件constants.php的配置
- 基于PHP文件操作的详解