Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 以十六进制形式读取文件,然后从十六进制字符串再次写入_Java - Fatal编程技术网

Java 以十六进制形式读取文件,然后从十六进制字符串再次写入

Java 以十六进制形式读取文件,然后从十六进制字符串再次写入,java,Java,我如何阅读任何文件,如图像、视频、文本文件。。。。等 作为十六进制字符串,然后在其他位置再次写入这些字符串,但能够以原始文件的形式打开文件 我在找代码 提前感谢使用format()方法 以字节形式读取文件,然后将其转换为字节 String.format("%02x", byteFromFile); 迭代它直到读取所有字节,然后将其添加到StringBuilder StringBuilder hexbyteString; for(byte myfile : filebyte) {

我如何阅读任何文件,如图像、视频、文本文件。。。。等

作为十六进制
字符串
,然后在其他位置再次写入这些
字符串
,但能够以原始文件的形式打开文件

我在找代码

提前感谢

使用format()方法

以字节形式读取文件,然后将其转换为字节

String.format("%02x", byteFromFile);
迭代它直到读取所有字节,然后将其添加到StringBuilder

StringBuilder hexbyteString;

for(byte myfile : filebyte) {
        hexbyteString.append(String.format("%02x", myfile));
    }
    return hexbyteString.toString();

将文件读入字节数组并将其转换为十六进制

StringBuilder result = new StringBuilder();
            for (byte b : bytes) {
                result.append(String.format("%02x", b));
            }
 result.toString();
RandomAccessFile file = new RandomAccessFile([Any file Name with extention], "rw");

file.write(bytes);

file.close();
对十六进制进行任何修改,然后使用此方法再次保存

public static byte[] hexStringToByteArray(String s) {
    int len = s.length();
    byte[] data = new byte[len / 2];
    for (int i = 0; i < len; i += 2) {
        data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
                + Character.digit(s.charAt(i + 1), 16));
    }
    return data;
}

你问的是文件复制程序吗?你不读十六进制字符串。你总是读字节,但是,您可以出于任何目的将字节流转换为十六进制字符串。@vembutech不,它不是复制程序,而是用于另一个程序purpose@cello读取为字节,然后将其转换为十六进制或其他任何操作,但我问我是否有表示文件的十六进制字符串有没有办法再次写入此文件并打开它???@BlackRoot:转换将十六进制字符串转换回字节流并将其写入文件:我不是要求以十六进制形式读取文件,而是要求将十六进制字符串转换回原始文件并打开它将十六进制字符串转换为字节数组,然后将其写入文件。