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();
        }
    }
}

使用方法:

  1. 将代码保存为 HexViewer.java 文件。
  2. 编译代码:javac HexViewer.java
  3. 运行程序:java HexViewer <filename> (将 <filename> 替换为要查看的文件名)

示例:

$ java HexViewer myfile.txt
48656C6C6F20776F726C6421

代码解析:

  • try-with-resources 语句: 用于自动关闭文件流,确保资源被正确释放。
  • FileInputStream 用于读取文件内容。
  • fis.read() 读取文件的一个字节,返回一个整型值。
  • printf('%02X', b) 使用 printf 方法以十六进制格式输出字节值。 %02X 表示以两位十六进制数输出,不足两位则用 0 补齐。

注意事项:

  • 文件必须存在,否则程序会抛出异常。
  • 输出结果以十六进制形式表示,每个字节之间没有分隔符。

总结:

本程序提供了一个简单的文件十六进制查看器,可以帮助开发者快速查看文件内容的字节表示形式。通过使用 try-with-resourcesprintf 方法,代码简洁高效,并确保了资源的正确释放。

Java 文件十六进制查看器:读取文件并显示字节

原文地址: https://www.cveoy.top/t/topic/n2vo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录