Бинарные файлы Java пишут UTF ... объясняют спецификации - PullRequest
0 голосов
/ 03 апреля 2010

Я изучаю Java самостоятельно. Одно из упражнений заключается в следующем, однако я не очень понимаю, о чем он просит ... какие-нибудь умные Java-гуру, которые могли бы объяснить это более подробно и простыми словами? Спасибо

Предположим, у вас есть двоичный файл, содержащий числа, тип которых int или double. Вы не знаете порядок чисел в файле, но их порядок записывается в строке в начале файла. Строка состоит из букв i для int и d для двойного в порядке типов последующих чисел. Строка записывается с использованием метода writeUTF.

Например, строка «iddiiddd» указывает, что файл содержит восемь значений, а именно: одно целое число, два двойных, два целых и три двойных.

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

1 Ответ

3 голосов
/ 03 апреля 2010

writeUTF - метод для DataOutputStream, и вы можете прочитать соответствующие данные, используя метод readUTF для DataInputStream. Поэтому шаги для чтения двоичного файла:

  • Открыть новый DataInputStream
  • Читать в строке, используя readUTF
  • Перебирайте символы строки по одному.
  • Если символ «i», используйте readInt() для чтения int.
  • Если символ представляет собой «d», используйте readDouble() для чтения в double.
  • Закрыть DataInputStream.

Вы также должны будете записать их в текстовый файл, для которого вы можете использовать FileWriter.

...