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" |
Окуу жана жазуу, файлдын мазмунун синхрондуу жаңыртуу менен ачуу (метадаттар кечиктирилиши мүмкүн). |