У меня возникла проблема с новым файловым форматом, который меня просят реализовать на работе.Java: чтение файла, содержащего как текстовые, так и двоичные данные
В принципе, файл представляет собой текстовый файл, содержащий кучу заголовков, содержащих информацию о данных в UTC-8, а затем остальную часть файла представляют собой числовые данные в двоичном формате. Я могу написать данные и прочитать их просто отлично, и я недавно добавил код для записи заголовков. Проблема в том, что я не знаю, как читать файл, содержащий как текстовые, так и двоичные данные. Я хочу иметь возможность читать и обрабатывать информацию заголовка (которая довольно обширна), а затем иметь возможность продолжить чтение двоичных данных без повторной итерации через заголовки. Это возможно?
В настоящее время я использую FileInputStream
для чтения двоичных данных, но я не знаю, как запустить его в начале данных, а не в начале всего файла. Один из конструкторов FileInputStream
принимает аргумент FileDescriptor
, и я думаю, что это мой ответ, но я не знаю, как получить его из другого класса чтения файлов. Правильно ли я подхожу к этому?
Итак, ваш реальный вопрос в том, как установить положение «FileInputStream»? – parsifal
Посмотрите http://docs.oracle.com/javase/tutorial/essential/io/rafs.html – Gene