Java读取hex文件

Sho*_*Roy 4 java file-io hex

作为更大程序的一部分,我需要从hex文件中读取值并打印十进制值.它看起来工作正常; 但是,从80到9f的所有十六进制值都给出了错误的值.例如80 hex给出小数值8364请帮忙.

这是我的代码:

String filename = "pidno5.txt";
FileInputStream ist = new FileInputStream("sb3os2tm1r01897.032");       
BufferedReader istream = new BufferedReader(new InputStreamReader(ist));
int b[]=new int[160];       
for(int i=0;i<160;i++)
    b[i]=istream.read();
for(int i=0;i<160;i++)
    System.out.print((b[i])+" ");
Run Code Online (Sandbox Code Playgroud)

Thi*_*ilo 7

如果您尝试读取原始字节,那么这不是您正在做的事情.

您正在使用读取器,它读取字符(在您未指定的编码中,因此默认为某些内容,可能是UTF-8).

要读取字节,请使用InputStream(并且不要将其包装在Reader中).