Что знаешь о RandomAccessFile
Класс java.io.RandomAccessFile
обеспечивает чтение и запись данных в произвольном месте файла. Он не является частью иерархии InputStream
или OutputStream
. Это полностью отдельный класс, имеющий свои собственные (в большинстве своем native) методы. Объяснением этого может быть то, что RandomAccessFile
имеет во многом отличающееся поведение по сравнению с остальными классами ввода/вывода так как позволяет, в пределах файла, перемещаться вперед и назад.
RandomAccessFile
имеет такие специфические методы как:
getFilePointer()
для определения текущего местоположения в файле;seek()
для перемещения на новую позицию в файле;length()
для выяснения размера файла;setLength()
для установки размера файла;skipBytes()
для того, чтобы попытаться пропустить определённое число байт;getChannel()
для работы с уникальным файловым каналом, ассоциированным с заданным файлом;- методы для выполнения обычного и форматированного вывода из файла (
read()
,readInt()
,readLine()
,readUTF()
и т.п.); - методы для обычной или форматированной записи в файл с прямым доступом (
write()
,writeBoolean()
,writeByte()
и т.п.).
Так же следует отметить, что конструкторы RandomAccessFile
требуют второй аргумент, указывающий необходимый режим доступа к файлу - только чтение ("r"
), чтение и запись ("rw"
) или иную их разновидность.
Oct. 22, 2023, Источник