开发者

Java reading hex file

As part of a larger program, I need to read values from a hex file and print the decimal values. It seems to be working fine; However all hex values ranging from 80 to 9f are giving wrong values. for example 80 hex gives a decimal value of 8364 Please help.

this is my code :

String filename = "pidno5.txt";
FileInputStream ist = new FileInputStream("sb3os2tm1r01897.032");       
BufferedReader istream = new BufferedReader(new InputStr开发者_运维技巧eamReader(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])+" ");


If you were trying to read raw bytes this is not what you are doing.

You are using a Reader, which reads characters (in an encoding you did not specify, so it defaults to something, maybe UTF-8).

To read bytes, use an InputStream (and do not wrap it in a Reader).


You may also use a different encoding:

BufferedReader istream = new BufferedReader(new InputStreamReader(ist, "ISO-8859-15"));
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜