Java nio читает двоичные символы и числа в одной строке - PullRequest
0 голосов
/ 30 августа 2018

Я пытаюсь получить контроль над java.nio и застрял при чтении из двоичного файла, ранее написанного
одна строка "on on on748".

Я использую попытку с ресурсами, поэтому я уверен, что файл и канал в порядке.

В байтовом буфере объявлено и выделено 12 для размера канала.

Здесь проблема начинается, потому что на моем bytearray я могу прочитать его для каждого
и литье символов, и с помощью for я не могу найти какой-либо метод для адресации чисел.

Я пробовал второй буфер с .get (xx, 8,2), но я не знаю, как превратить массив byte [] из 2 в 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]);
        }
...