Sobes.tech
Middle

Ինչ եք իմանում RandomAccessFile դասի մասին?

sobes.tech AI

Պատասխան AI-ից

RandomAccessFile տրամադրում է տվյալների ընթերցման և գրելու հնարավորությունը ցանկացած վայրում ֆայլում: Վերածնվող InputStream կամ OutputStream-ի փոխարեն, այն չի հանդիսանում 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" բացում կարդալու և գրելու համար, սինխրոնիզացված թարմացմամբ ֆայլի բովանդակության օպերացիոն համակարգի մակարդակով (մետադատները կարող են հետաձգվել):