Java nio在同一行上读取chars和ints二进制文件

时间:2018-08-29 23:16:03

标签: java binary nio

我试图掌握java.nio并被困在读取以前编写的二进制文件中
单行“ on on on748”。

我尝试使用资源,所以我确定文件和通道都可以。

在字节缓冲区上,声明并分配了12个通道大小。

这是我的字节数组开始出现问题的原因,我可以为每个字节读取一个
 和char转换,并且带有for,我似乎无法获得任何方法来处理数字。

我尝试使用.get(xx,8,2)设置第二个缓冲区,但是我不知道如何将2的byte []数组转换为int值。

try(FileInputStream file = new FileInputStream("data.dat");
        FileChannel channel = file.getChannel()){

        ByteBuffer buffer = ByteBuffer.allocate((12));

        channel.read(buffer);
        byte[] xx = buffer.array();

        System.out.println(xx.length);
        for (byte z:xx) {
            System.out.println((char)z);
        }

        for (int i = 0; i < xx.length; i++) {
                if (i<8)
                    System.out.print((char)xx[i]);
                if (i>=8)
                    System.out.println((int)xx[i]);
        }

0 个答案:

没有答案