Sobes.tech
Middle

Какво знаете за класа RandomAccessFile?

sobes.tech AI

Отговор от AI

RandomAccessFile предоставя възможност за четене и записване на данни навсякъде във файла. За разлика от потоковете, той не е подклас на InputStream или OutputStream.

Ключови характеристики:

  • Позициониране: Позволява преместване във файла, като задава текущата позиция чрез метода seek().
  • Режим на достъп: Отваря се с определен режим на достъп ("r", "rw", "rws", "rwd").
  • Четене и запис: Поддържа четене и запис на примитивни типове, низове и байтови масиви.
  • Дължина на файла: Позволява да получите текущата дължина на файла (length()) и да я зададете (setLength()).

Пример за отваряне на файл за четене и писане:

// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_file.txt", "rw");
// ... допълнителна работа с файла
file.close();

Пример за преместване във файла и четене:

// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_file.bin", "r");
file.seek(100); // Преместване на байт 100
byte b = file.readByte(); // Четене на един байт
file.close();

Пример за запис във файла:

// RandomAccessFile
RandomAccessFile file = new RandomAccessFile("my_output.txt", "rw");
file.writeBytes("Hello, world!"); // Запис на низ
file.close();

Режими на достъп:

Режим Описание
"r" Отваряне за четене.
"rw" Отваряне за четене и писане.
"rws" Отваряне за четене и писане със синхронна актуализация на съдържанието и метаданните на файла на ниво операционна система.
"rwd" Отваряне за четене и писане със синхронна актуализация на съдържанието на файла на ниво операционна система (метаданните могат да бъдат отложени).