Java 文件与十六进制互相转换代码示例
要将文件转换为十六进制,可以使用以下代码:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileHexConverter {
public static void fileToHex(File inputFile, File outputFile) throws IOException {
FileInputStream fis = new FileInputStream(inputFile);
FileOutputStream fos = new FileOutputStream(outputFile);
int data;
while ((data = fis.read()) != -1) {
String hex = Integer.toHexString(data);
fos.write(hex.getBytes());
}
fis.close();
fos.close();
}
public static void hexToFile(File inputFile, File outputFile) throws IOException {
FileInputStream fis = new FileInputStream(inputFile);
FileOutputStream fos = new FileOutputStream(outputFile);
int data;
byte[] buffer = new byte[2];
while ((data = fis.read(buffer)) != -1) {
String hex = new String(buffer);
int decimal = Integer.parseInt(hex, 16);
fos.write(decimal);
}
fis.close();
fos.close();
}
public static void main(String[] args) {
File inputFile = new File('input.txt');
File hexFile = new File('hex.txt');
File outputFile = new File('output.txt');
try {
fileToHex(inputFile, hexFile);
hexToFile(hexFile, outputFile);
} catch (IOException e) {
e.printStackTrace();
}
}
}
上述代码中,fileToHex方法将输入文件转换为十六进制,并将结果写入输出文件。hexToFile方法将十六进制文件转换回原始文件。
要使用上述代码,你需要将输入文件的路径更改为实际的文件路径,并确保输出文件的目录存在。运行代码后,将生成一个十六进制文件和一个从十六进制文件转换回来的原始文件。
请注意,此代码仅适用于文本文件。如果要处理二进制文件,请逐字节读取和写入文件。
原文地址: https://www.cveoy.top/t/topic/fseu 著作权归作者所有。请勿转载和采集!