Я работаю над 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 байт?