java读取16进制文件的简单介绍

博主:adminadmin 2023-03-20 23:05:07 335

本篇文章给大家谈谈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进制文件的信息别忘了在本站进行查找喔。