我需要能够在如下文件中找到特定值(例如80
):
4D 54 68 64 00 00 00 06 00 01 00 01 00 C0 4D 54 72 6B 00 00 00 00 00 00 31 00 90 60 40 81 40 80 60 00 90 62 40 81 40 80 62 40 00 90 64 40 81 40 80 64 40 00 90 62 40 81 40 62 40 00 90 70 81 40 70 70 70 00 FF 2F 00
我的代码示例:
RandomAccessFile file = new RandomAccessFile(new File(fichierAConvertir), "rw");
System.out.println(fichierAConvertir);
if(file.read() == 0x80)
{
System.out.println("trouvé");
}
else{
System.out.println("pas trouvé");
}
我还希望能够用另一个值替换该值的所有情况。
我是法国人,很抱歉我的英语水平。。
您可以轻松地将文件读入字符串
,然后对该字符串
执行全部替换。最后,将更新后的字符串
写回文件。您可以将文件读入字符串
(可在此处找到):
Scanner scanner = new Scanner(new File("filename"));
String content = scanner.useDelimiter("\\Z").next();
scanner.close();
在这两个链接中,有其他方法可以将文件转换为字符串:
从这三种方法中选择一种,然后继续执行以下代码。
API中的String
有一个replaceAll()
方法:
content = content.replaceAll("80", "some other string");
最后,将此更新String
写回文件,如下所示:
PrintWriter writer = new PrintWriter("filename", "UTF-8");
writer.println(content);
writer.close();//don't forget to close!
如果你想把字符串转换成十六进制,然后再转换回来,那么我来看看这个问题。
注意:不要忘记关闭您的写入器/扫描仪/打印机等。查看此解决方案,了解原因。
问题内容: 我有一个Java文件 我想将 pic.bmp 转换为十六进制值的数组,以便可以编辑并将其保存为修改后的版本。 是否有Java类可以做到这一点? 问题答案: 你真幸运。我几个月前不得不这样做。这是一个精简版,需要从命令行获取两个参数。命令行参数都是文件名…第一个是输入文件,第二个是输出文件。输入文件以二进制形式读取,输出文件以ASCII十六进制形式写入。希望您可以根据自己的需要进行调整。
我从下面的另一个问题中看到了一个代码,但我不知道如何利用它。
问题内容: 我有一个代表2的补码的十六进制字符串。是否有一种简单的方法(库/函数)将十六进制转换为十进制而不直接使用其位? EG这是给定左侧十六进制的预期输出: 谢谢! 问题答案: 这似乎在欺骗Java转换数字而不强制给出正结果: 当然,这种情况仅适用于8、16、32和64位2的补码:
问题内容: 我有一个家庭作业,需要在十进制,二进制和十六进制之间进行三向转换。我需要帮助的功能是将十进制转换为十六进制。我几乎不了解十六进制,但是如何将十进制转换为十六进制。我需要一个接受并返回的函数。不幸的是我没有此功能的任何草稿,我完全迷路了。我只有这个。 另外,我不能使用诸如Integer.toHexString()之类的预制函数或任何其他东西,我需要真正地制作算法,否则我什么都不会学。 问
本文向大家介绍如何将十六进制转换为十进制?,包括了如何将十六进制转换为十进制?的使用技巧和注意事项,需要的朋友参考一下 而十六进制数是具有值是16的数字系统中的一个并且它具有唯一的16个码元:0,1,2,3,4,5,6,7,8,9和A,B,C,d,E ,其中A,B,C,D,E和F分别是十进制值10、11、12、13、14和15的单位表示。而十进制系统是最熟悉的号码系统向公众开放。它是10的基数,只
本文向大家介绍如何将十进制转换为十六进制?,包括了如何将十进制转换为十六进制?的使用技巧和注意事项,需要的朋友参考一下 十进制是公众最熟悉的数字系统。它是基数10,只有10个符号-0、1、2、3、4、5、6、7、8和9。而十六进制是计算机或数字系统中最常见的数字系统颜色表示。它是基数16,只有16个符号:0、1、2、3、4、5、6、7、8、9和A,B,C,D,E,F。这些A,B,C,D ,E,F分