Sobes.tech
Middle

RandomAccessFile классы жөнүндө эмне билесиз?

sobes.tech AI

AIден жооп

RandomAccessFile файлдын каалаган жеринен окуп жана жазууга мүмкүнчүлүк берет. Потоктордон айырмаланып, ал InputStream же OutputStream классынын подклассу эмес.

Негизги өзгөчөлүктөр:

  • Позициялоо: seek() методу аркылуу файлда жылжып, учурдагы ордуңузду коюуга мүмкүндүк берет.
  • Кирүү режими: белгилүү бир режимде ачылат ("r", "rw", "rws", "rwd").
  • Окуу жана жазуу: примитивдүү түрлөрдү, саптарды жана байттык массивдерди окууга жана жазууга мүмкүнчүлүк берет.
  • Файлдын узундугу: учурдагы узундугун алуу (length()) жана аны орнотуу (setLength()).

Файлды окуу жана жазуу үчүн ачуу мисалы:

// RandomAccessFile
RandomAccessFile файл = new RandomAccessFile("my_file.txt", "rw");
// ... файл менен иштөө
файл.close();

Файлда жылжуу жана окуу мисалы:

// RandomAccessFile
RandomAccessFile файл = new RandomAccessFile("my_file.bin", "r");
файл.seek(100); // 100-чи байтка жылуу
байт b = файл.readByte(); // бир байтты окуу
файл.close();

Файлга жазуу мисалы:

// RandomAccessFile
RandomAccessFile файл = new RandomAccessFile("my_output.txt", "rw");
файл.writeBytes("Hello, world!"); // сапты жазуу
файл.close();

Кирүү режимдери:

Режим Description
"r" Окууга ачуу.
"rw" Окуу жана жазуу үчүн ачуу.
"rws" Окуу жана жазуу, файлдын мазмуну жана метадатынын синхрондуу жаңыртуусу менен ачуу.
"rwd" Окуу жана жазуу, файлдын мазмунун синхрондуу жаңыртуу менен ачуу (метадаттар кечиктирилиши мүмкүн).