1. Files Синфи

Fayllar bilan ishlash uchun, java.nio.file.Files deb atalmish yaxshi bir sinf bor. U hayotning barcha holatlariga mos keluvchi metodlarga ega. Ushbu sinfning barcha metodlari statik va Path turidagi obyektlar bilan ishlaydi. Metodlar juda ko'p, shuning uchun faqat asosiylarini ko'rib chiqamiz:
| Метод | Таърифи |
|---|---|
|
path yo'li bilan yangi fayl yaratadi |
|
Yangi katalog yaratadi |
|
Bir nechta kataloglar yaratadi |
|
Vaqtinchalik fayl yaratadi |
|
Vaqtinchalik katalog yaratadi |
|
Agar bo'sh bo'lsa, fayl yoki katalogni o'chiradi |
|
Faylni nusxalaydi |
|
Faylni ko'chiradi |
|
Yo'lning katalog yoki fayl ekanligini tekshiradi |
|
Yo'lning fayl yoki katalog ekanligini tekshiradi |
|
Berilgan yo'ldagi obyekt mavjudligini tekshiradi |
|
Faylning hajmini qaytaradi |
|
Faylning barcha mazmunini baytlar massivi ko'rinishida qaytaradi |
|
Faylning barcha mazmunini satr ko'rinishida qaytaradi |
|
Faylning barcha mazmunini satrlar ro'yxati ko'rinishida qaytaradi |
|
Baitlar massivi faylga yoziladi |
|
Satr faylga yoziladi |
|
Berilgan katalogdan fayllar (va ichki kataloglar) to'plamini qaytaradi |
2. Fayllar va kataloglar yaratish
Fayllar va kataloglarni yaratish juda oson. Misollarda ko'rib chiqamiz:
| Код | Изоҳ |
|---|---|
|
Fayl yaratadi |
|
Katalog yaratadi |
|
Katalog va ehtiyojga qarab ichki kataloglarni yaratadi, agar u mavjud bo'lmasa. |
3. Nusxalash, ko'chirish va o'chirish
Fayllarni nusxalash, ko'chirish va o'chirish ham oson. Kataloglarga nisbatan, ular bo'sh bo'lishi kerak.
| Код | Изоҳ |
|---|---|
|
Faylni nusxalaydi |
|
Faylni ko'chiradi va nomini o'zgartiradi |
|
Faylni o'chiradi |
4. Fayl turini va mavjudligini tekshirish
Borganingizda tashqaridan olingan bir yo'l bor bo'lsa, bu fayl yoki katalog ekanligini bilishni xohlaysiz. Umuman olganda, bu fayl/katalog mavjudmi yoxud yo'qmi?
Buning uchun maxsus metodlar bor. Shuningdek, fayl uzunligini ham osonlik bilan tekshirish mumkin:
| Код | Изоҳ |
|---|---|
|
|
|
|
|
|
|
|
5. Faylning mazmuni bilan ishlash
Va nihoyat, faylning mazmunini oson o'qish yoki yozish uchun bir qator metodlar mavjud. Misol:
| Код | Таърифи |
|---|---|
|
Faylning mazmunini satrlar ro'yxati ko'rinishida o'qiymiz. Satrlarni ekranga chiqaryapmiz |
6. Katalog mazmunini olish
Hozir eng qiziqarli metodni ko'rib chiqamiz — berilgan katalogdagi fayllar va ichki kataloglarni olish.
Buning uchun maxsus metod mavjud — newDirectoryStream(), bu maxsus turdagi obyektni DirectoryStream<Path> qaytaradi. Unda iterator bor (!), va ushbu iterator yordamida berilgan katalogdagi barcha fayllar va ichki kataloglarni olish mumkin.
Bu osonroq ko'rinadi:
| Код | Таърифи |
|---|---|
|
Fayllar ro'yxati bilan obyektni olamiz Fayllar ro'yxati bo'yicha sikl |
Obyekt DirectoryStream<Path> ikki xususiyatga ega. Birinchidan, unda fayllar yo'llarini qaytaruvchi iterator bor va biz ushbu obyektni for-each siklida ishlatishimiz mumkin.
Ikkinchidan, ushbu obyekt ma'lumotlar oqimi hisoblanadi va uni close() metodi yordamida yopish yoki try-with-resources ichida ishlatish kerak.
7. Files.newInputStream Методи
Java 5 dan boshlab FileInputStream va FileOutputStream sinflari eskirgan deb hisoblana boshlandi. Ushbu sinflar obyektlar yaratilganda diskda darhol fayl yaratishi ularga salbiy ta'sir ko'rsatgan edi. Va barcha fayl yaratish bilan bog'liq xatolar chiqarilishi mumkin edi.
Kelib chiqqan natijada, bu unchalik yaxshi qaror emas deb topildi. Shuning uchun fayl obyektlarini yaratish uchun utilitar sinf metodlardan foydalanish tavsiya etiladi – java.nio.Files.
Eski fayl yaratish yondashuvi va yangisini taqqoslanishi:
| Эски |
|---|
|
| Янги |
|
Aynan shunday o'zgarish FileOutputStream uchun ham mavjud:
| Эски |
|---|
|
| Янги |
|
GO TO FULL VERSION