Прямой доступ к файлу
Если необходимо интенсивно работать с файлом, записывая в него данные разных типов 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) перемещает указатель на начало файла.
В классе нет методов преобразования символов в байты и обратно по кодовым таблицам, поэтому он не приспособлен для работы с кириллицей.
- Потоки данных. Работа с локальными файлами Цели работы
- Порядок выполнения работы
- Вопросы для самопроверки и защиты.
- Организация ввода-вывода в Java
- Классы потоков ввода-вывода
- Иерархия классов потоков ввода-вывода
- Консольный ввод/вывод
- Файловый ввод/вывод
- Получение свойств файла
- Буферизованный ввод/вывод
- Поток простых типов Java
- Кодировка utf-8
- Прямой доступ к файлу
- Каналы обмена информацией
- Сериализация объектов