读取包含字母的十六进制值

时间:2014-10-08 01:21:00

标签: java hex

我正在阅读以下文件中的值

02020003
03020004
01000000
0000000A
00000000

使用以下代码:

public static void loader(String file)
{

    try{
        Scanner sc = new Scanner(new File(file));
        for(int i = 0; sc.hasNextInt() ; ++i){
            Memory[i] = sc.nextInt(16);
        }

    }catch(Exception e) {
        System.out.println("Cannot open file");
        System.exit(0);
    }
}

代码正确地读取文件中的前3个值,但是一旦它接近字母,例如第4行中的字母,它就会一直存储为0。

为什么会这样?

1 个答案:

答案 0 :(得分:0)

你应该使用

hasNextInt(int radix)

表示放置基数16