1.10Прямой доступ к файлу
Если необходимо интенсивно работать с файлом, записывая в него данные разных типов Java, изменяя их, отыскивая и читая нужную информацию, то лучше всего воспользоваться методами класса RandomAccessFile.
В конструкторах этого класса
RandomAccessFile(File file, String mode)
RandomAccessFile(String fileName, String mode)
вторым аргументом mode задается режим открытия файла. Это может быть строка "r" — открытие файла только для чтения, или "rw" — открытие файла для чтения и записи.
Этот класс собрал все полезные методы работы с файлом. Он содержит все методы классов DataInputStream и DataOutputStream, кроме того, позволяет прочитать сразу целую строку методом readLine () и отыскать нужные данные в файле.
Байты файла нумеруются, начиная с 0, подобно элементам массива. Файл снабжен неявным указателем (file pointer) текущей позиции. Чтение и запись производится, начиная с текущей позиции файла. При открытии файла конструктором указатель стоит на начале файла, в позиции 0. Текущую позицию можно узнать методом getFilePointer(). Каждое чтение или запись перемещает указатель на длину прочитанного или записанного данного. Всегда можно переместить указатель в новую позицию, роз методом seek (long pos). Метод seek(0) перемещает указатель на начало файла.
В классе нет методов преобразования символов в байты и обратно по кодовым таблицам, поэтому он не приспособлен для работы с кириллицей.
- 1Потоки ввода/вывода
- 1.1Потоки в Java
- 1.2Иерархия классов
- 1.3Потоковые классы
- 1.4Консольный ввод/вывод
- 1.5Файловый ввод/вывод
- 1.6Получение свойств файла
- 1.7Буферизованный ввод/вывод
- 1.8Поток простых типов Java
- 1.9Кодировка utf-8
- 1.10Прямой доступ к файлу
- 1.11Каналы обмена информацией
- 1.12Сериализация объектов
- 1.13Печать в Java
- 1.14Печать средствами Java 2d
- 1.15Печать файла
- 1.16Печать страниц с разными параметрами