Java Вопрос по программированию - Назначение редактора Hex - PullRequest
0 голосов
/ 12 февраля 2020

Я работаю над Hex Editor для школьного задания. Две вещи, которые он должен уметь делать:

1.) Из позиции, указанной пользователем, выведите следующие 5 байтов из этой позиции.

2.) Из позиции, указанной пользователем, выведите 5 байтов ранее из этой позиции.

Я должен сделать это с помощью итератора, и я не совсем уверен, как, потому что итератор есть только следующий метод. Сначала я сделал это без итератора:

System.out.print("Enter byte positon to navigate to: ");
        long pos = in.nextLong();
        in.nextLine();
        if (pos >= 0 && pos < file.length()) {
            raf.seek(pos);
            System.out.println("The 5 bytes starting from that position are");
            for (int i = 0; i < 5; i++) {
                byte b = raf.readByte();
                System.out.print(((b >= 0 && b <= 15)?"0":"") + Integer.toHexString((int)b & 0x00FF) + " ");
                if (++pos == file.length())
                    break;
            }

С чего мне начать, чтобы преобразовать его в использование итератора?

Кроме того, для 5 байтов ранее, я должен уменьшить позиция, которую указывает пользователь, а затем итерация вперед на 5 байт?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...