Java 文件十六进制查看器:读取文件并显示字节
Java 文件十六进制查看器:读取文件并显示字节
本程序使用 Java 编写,能够读取用户输入的任意文件,并将每个字节的内容以十六进制格式显示在标准输出上。
代码:
import java.io.FileInputStream;
import java.io.IOException;
public class HexViewer {
public static void main(String[] args) {
if (args.length == 0) {
System.out.println('Usage: java HexViewer <filename>');
return;
}
String filename = args[0];
try (FileInputStream fis = new FileInputStream(filename)) {
int b;
while ((b = fis.read()) != -1) {
System.out.printf('%02X', b);
}
} catch (IOException e) {
System.err.println('Failed to read file: ' + filename);
e.printStackTrace();
}
}
}
使用方法:
- 将代码保存为
HexViewer.java文件。 - 编译代码:
javac HexViewer.java - 运行程序:
java HexViewer <filename>(将<filename>替换为要查看的文件名)
示例:
$ java HexViewer myfile.txt
48656C6C6F20776F726C6421
代码解析:
try-with-resources语句: 用于自动关闭文件流,确保资源被正确释放。FileInputStream: 用于读取文件内容。fis.read(): 读取文件的一个字节,返回一个整型值。printf('%02X', b): 使用printf方法以十六进制格式输出字节值。%02X表示以两位十六进制数输出,不足两位则用 0 补齐。
注意事项:
- 文件必须存在,否则程序会抛出异常。
- 输出结果以十六进制形式表示,每个字节之间没有分隔符。
总结:
本程序提供了一个简单的文件十六进制查看器,可以帮助开发者快速查看文件内容的字节表示形式。通过使用 try-with-resources 和 printf 方法,代码简洁高效,并确保了资源的正确释放。
原文地址: https://www.cveoy.top/t/topic/n2vo 著作权归作者所有。请勿转载和采集!