黑马程序员技术交流社区
标题:
急急急,求解答!绝对有用
[打印本页]
作者:
zhanghua
时间:
2011-11-15 09:02
标题:
急急急,求解答!绝对有用
本帖最后由 zhanghua 于 2011-11-21 13:59 编辑
如何将一个二进制文件,用byte读取出来,然后转换成十六进制,存在.txt文件中
作者:
qy
时间:
2011-11-15 12:18
File file = new File(filepath);
DataInputStream dps = new DataInputStream(new FileInputStream(file));
StringBuilder hexData = new StringBuilder();
byte bt = 0;
for(int i=0;i<file.length();i++) {
bt = dps.readByte();
// 以十六进制的无符号整数形式返回一个字符串表示形式。
String str = Integer.toHexString(bt);
if(str.length() == 8) { //去掉补位的f
str = str.substring(6);
}
if(str.length() == 1) {
str = "0"+str;
}
hexData.append(str.toUpperCase());
}
return hexData.toString();
}
public static void main(String[] args) throws IOException {
String filepath = "E:\\a.txt";
String s =dataInputStream(filepath);
FileOutputStream fps = new FileOutputStream("E:\\b.txt");//将十六进制数存成文本
fps.write(s.getBytes());
fps.close();
}
复制代码
作者:
qy
时间:
2011-11-15 12:22
少一句重要的代码: 添加到 01 行上面 ---》public static String dataInputStream(String filepath) throws IOException {
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2