Иллюстрированный самоучитель по Java
Прямой
доступ к файлу
Если необходимо интенсивно работать
с файлом, записывая в него данные разных типов Java, изменяя их, отыскивая и
читая нужную информацию, то лучше всего воспользоваться методами класса RandomAccessFile.
В конструкторах этого класса
RandomAccessFile(File
file, String mode)
RandomAccessFile(String
fileName, String mode)
вторым аргументом mode задается
режим открытия файла. Это может быть строка "r" — открытие файла только
для чтения, или "rw" — открытие файла для чтения и записи.
Этот класс собрал все полезные методы
работы с файлом. Он содержит все методы классов Datainputstream и DataOutputstream,
кроме того, позволяет прочитать сразу целую строку методом readidne () и отыскать
нужные данные в файле.
Байты файла нумеруются, начиная
с 0, подобно элементам массива. Файл снабжен неявным указателем (file pointer)
текущей позиции. Чтение и запись производится, начиная с текущей позиции файла.
При открытии файла конструктором указатель стоит на начале файла, в позиции
0. Текущую позицию можно узнать методом getFiiePointer(). Каждое чтение или
запись перемещает указатель на длину прочитанного или записанного данного. Всегда
можно переместить указатель в новую позицию, роз методом seek (long pos). Метод
seek(0) перемещает указатель на начало файла.
В классе нет методов преобразования
символов в байты и обратно по кодовым таблицам, поэтому он не приспособлен для
работы с кириллицей.