Компьютерууд, Програмчлал
Java: файлтай ажиллах - бичих, унших, устгах
Java нь олон тооны програмуудад мэдээллийн дэлгүүр болж ажилладаг учир файлуудтай ажиллах олон хэрэгслүүд байдаг. Ялангуяа ихэвчлэн файлд хандах нь Java Android-д шаардлагатай. Файлуудтай ажиллах бүх ангиуд нь багц java.io-д байрлах бөгөөд оролт, гаралтын урсгалуудтай ажиллах ангиудыг хадгалдаг. Үнэнийг хэлэхэд, Java дээр файлуудтай ажиллах нь ихэвчлэн оролт-гаралтын байтын болон тэмдэгт дамжуулалтаар дамждаг. Фифын ангилал бол энэ тохиолдолд үл хамаарна. Бид үүнийг эхлүүлэх болно.
Java анги файл - файлтай ажиллах
Файл анги файл болон файлын системтэй шууд харилцдаг. Энэ классын instance нь файлын шинж чанаруудад хандах, дэд сангийн шаталсан шатлалуудыг шилжүүлэхэд хэрэглэгддэг. Энэ нь файлыг файл руу яаж задлах, хадгалахыг тодорхойлоогүй ч энэ ангитай холбоотой файлын тухай мэдээлэл, он сар өдөр, хандах эрх, директорийн зам зэрэг олон мэдээллийг авч болно. Үнэндээ Файл анги нь Жава дахь файл эсвэл лавлах объектын тайлбар юм.
Файлын ангилалыг үүсгэхийн тулд түүний үүсгэгчдийн нэгийг нь ашиглана: Файл (Хавтсан дахь мөрийн зам, String файлын нэр).
Энэ ангийн үндсэн аргуудыг авч үзье. Энэ нь файл эсвэл лавлахын талаархи мэдээллийг олж авах боломж олгоно.
- GetName () - файлын нэрийг буцаадаг;
- Exists () - файлын оршин байгаа тохиолдолд үнэн Боглийн утга буцаах, эсвэл өөрөөр хэлбэл;
- IsFile () - обьект нь обьектийг файлын харгалзах эсэхийг тодорхойлж өгнө.
- IsDirectory () - энэ нь фолдер байвал үнэн буцах;
- CanWrite () - файл нь бичигдэх боломжтой бол үнэн буцах;
- Файлыг унших боломжтой бол CanRead () - буцааж үнэн болно;
- SetReadOnly () нь файлыг зөвхөн унших боломжтой болгодог;
- Урт () - байт дахь файлын хэмжээ буцаах;
- RenameTo (Файлын шинэ нэр) - одоогийн файлыг батлагдсан аргументийн дагуу өөрчлөх. Үйл ажиллагаа амжилттай болбол буцаадаг;
- Устгах () - дуудах объектоор зааж өгсөн файл эсвэл фолдер (хоосон бол) устгах;
- Жагсаалт () - Энэ хавтсанд хадгалагдсан обьектуудын нэрсийн жагсаалтыг array (зөвхөн сангуудад хамаарна) агуулдаг.
Тиймээс файлын ангиллыг ашиглан Java нь файлууд болон фолдеруудтай ажилладаг.
FileInputStream болон FileOutputStream классуудыг ашиглан файлуудтай ажиллах
Өмнө нь бид Java дээр файлын ажилтай гол төлөв I / O дамжуулалтаар хийгддэг гэж хэлсэн. Файлуудтай ажиллах байтын урсгалууд нь FileInputStream болон FileOutputStream классын хэлбэрээр дүрслэгддэг. Эдгээр ангиуд нь InputStream ба OutputStream үндсэн хийсвэр ангиудын өв залгамжлагчид бөгөөд эдгээр ангиудын аргууд нь файлтай ажиллахад бэлэн байдаг.
Эхлээд FileInputStream-ийг авч үзье. Энэ ангид хамаарах байгуулагчдыг дараах зурагт үзүүлэв:
Эхний байгуулагч нь мөрийн файлыг мөр болгон тэмдэглэнэ. Хоёр дахь байгуулагч нь обьект дүрслэл болгон ашигладаг. Эхний байгуулагч нь ихэвчлэн ашиглагддаг боловч хоёр дахь тохиолдолд файлын төрлүүдэд байгаа аргын файлын шинж чанаруудыг судлах боломжтой байдаг. Ангилал үүссэн үед FileInputStream файлыг унших оролтыг нээнэ.
FileOutputStream классын байгуулагчдыг доор үзүүлэв:
Нөхцөл байдал нь FileInputStream-тэй төстэй боловч энэ нь "хавсралт" -ын логик утга авч болох бөгөөд энэ нь үнэн байхад зорилтот файлд бичсэн өгөгдлийг аль хэдийн бэлэн болсон файлуудад нэмэхийг зааж өгдөг бөгөөд худлаа файлыг бүрэн дарж бичих болно; Хуучин өгөгдөл хадгалагдахгүй болно.
Эдгээр ангиудыг ашиглан жишээг авч үзье:
Оролтын урсгал FileInputStream нь read1 () методыг ашиглан by1 -ээр data1.txt-ээс өгөгдлийг уншдаг. Унших байт бүр integer хэлбэрийн хувьсагчид хадгалагддаг. Цаг хугацааны гогцоон дахь биед энэ хувьсагч file2.txt руу ирсэн байтыг бичдэг FileOutputStream тохиолдлын бичих аргументын хувьд өгөгддөг. Эцэст нь хоёр хоѐр утас хаалттай аргаар хаалттай байдаг.
Ангилал FileReader ба FileWriter
Файлуудтай харьцах үед та тексттэй ажиллах болно гэдгийг мэдэж байвал байт урсгалын оронд симболыг ашиглах нь утга учиртай болно. Эдгээр урсгалууд нь Java дээр FileReader болон FileWriter ангиллаар илэрхийлэгддэг. Эдгээр ангиллуудыг ашиглан файлуудтай ажиллах нь өмнөх тохиолдлоос өмнөхтэй ижил аргаар тохиолддог. Тэдгээр нь өгөгдлийн оролт, гаралтын үндсэн аргуудыг тодорхойлж өгдөг Reader and Writer ангилалын үр удам юм.
FileReader болон FileWriter ангиллын байгуулагчдыг доорх зурагт үзүүлэв:
Зөвшөөрөл, уртын урсгалтай харьцуулахад семантикс ялгаа байхгүй байна. Доод тал нь эдгээр ангиуд нь Unicode тэмдэгтүүдтэй ажиллахад зориулж бүтээсэн бөгөөд энэ нь байт урсгалыг хийж чадахгүй. Энэ нь Java файлтай ажилладаг. Эдгээрийг ашиглах жишээг дор үзүүлэв:
Таны харж байгаагаар ялгаа байхгүй. Хэдийгээр урсгалууд нь бэлгэдэл боловч уншигдах аргыг буцаана, бичих арга нь бүхэл тоо утга авна гэдгийг анхаарах хэрэгтэй. Бичлэгийн аргын гарын үсэг нь int аргументийг хүлээн авдаг гэж үздэг боловч зөвхөн Java-ийн тэмдэгтүүд нь яг ийм тооны битүүдээр илэрхийлэгддэг учраас зөвхөн доод 16 битүүдийг урсгал руу бичдэг.
Дүгнэлт
Тиймээс бид Жава дахь файлуудтай ажиллах үндсэн хичээлүүдийг задалсан. Хэрэв та Java Android програмыг хөгжүүлэх гэж байгаа бол энэ хэрэгслийг аюулгүй ашиглах боломжтой.
Similar articles
Trending Now