java读取16进制文件的简单介绍
本篇文章给大家谈谈java读取16进制文件,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
新手.JAVA如何读取16位数据?谢谢
您好,提问者:
1、首先你要读取文件的内容,使用FileInputStream就可以。
2、把FF FF中间的空格替换掉。
String str = "FF FF".replaceAll(" ","");
3、输出并转换:System.out.println(Integer.parseInt(str,16));
java读取十六进制数,该如何写个这方法
读取后,两个字符转一次二进制字符串然后生成一个二进制的字符串,一次取24位字符 ,然后取第13个字符到第16个字符强转为十六进制的字符串 然后+第1个至第8个字符强转为十六进制的字符串 组成信号0的数字,写到文件或者别的地方,信号1同理可转.感觉有点低端,不知可有别的精妙做法
怎么用java读写16进制的数?
public static int hexToDec(String sn) {
if (null == sn 0 == sn.trim().length())
throw new IllegalArgumentException("接收的参数 “" + sn + "” 不是十六进制表示形式!");
final String P = "0x";
if (sn.toLowerCase().startsWith(P)) {
final String regex = "[^\\da-fA-F]";
int i = Regexutils.matcheRegexp(sn.substring(2), regex, false);
if (0 != i)
throw new IllegalArgumentException("接收的参数 “" + sn
+ "” 不是十六进制表示形式!");
else {
char[] cs = sn.substring(2).toUpperCase().toCharArray();
char c;
for (int j = 0; j cs.length; j++) {
c = cs[j];
i += toDec(c, (cs.length - j - 1));
}
return i;
}
}
return 0;
}
private static int toDec(char c, int i) {
final double N = 16.0;
int n = getNum(c);
int r = (int) (n * Math.pow(N, (double) i));
return r;
}
private static int getNum(char c) {
// 字符F转换成为数字为70
if ((int) c 70)
return 0;
int i = 0;
switch (c) {
case ''A'':
i = 10;
break;
case ''B'':
i = 11;
break;
case ''C'':
i = 12;
break;
case ''D'':
i = 13;
break;
case ''E'':
i = 14;
break;
case ''F'':
i = 15;
break;
case ''a'':
i = 10;
break;
case ''b'':
i = 11;
break;
case ''c'':
i = 12;
break;
case ''d'':
i = 13;
break;
case ''e'':
i = 14;
break;
case ''f'':
i = 15;
break;
}
if (0 == i) {
// 字符0转换成为数字为48
return (int) c - 48;
} else
return i;
}
java读取16进制文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、java读取16进制文件的信息别忘了在本站进行查找喔。