More Related Content
Similar to Lecture file and folder working
Similar to Lecture file and folder working (15)
Lecture file and folder working
- 2. ФАЙЛ, ФОЛДЕРТЭЙ АЖИЛЛАХ
Агуулга:
Файл болон хавтасруу хандах
Файлтай ажиллах, шүүлтүүр тавих
Файл, хавтас үүсгэх, өөрчлөх
Файлд бичих FileOutputStream
Текст файлд бичих
Файлаас унших
Объектийг файлруу хийх
- 3. ФАЙЛ БОЛОН ХАВТАСРУУ ХАНДАХ
Файл болон хавтастай ажиллахын тулд
File классын объектийг хэрэглэнэ.
– File классын объектийг үүсгэхдээ замыг нь
байгуулагч уруу зааж өгдөг.
- 4. ФАЙЛ БОЛОН ХАВТАСРУУ ХАНДАХ
Гэхдээ File төрлийн объект нь өөрөө
файл заахгүй. Програм зохиогч File
төрлийн объектийг дараах зорилгоор
хэрэглэдэг:
– Уг файл диск дээр байгаа жинхэнэ файл
мөн эсэхэд
– File stream объектийг үүсгэхэд
- 5. ФАЙЛ БОЛОН ХАВТАСРУУ ХАНДАХ
Файл объектийг үүсгэхдээ тухайн файлын
байрлах замыг нь зааж өгөх хэрэгтэй.
– C:Documents and SettingsLaboratoryOutput.txt
Зарим үйлдлийн системүүд дээр файл
фолдерыг тусгаарлах тэмдэгтүүд өөр өөр
байдаг.
– Жишээ нь: Linux – д :/ байдаг.
- 6. ФАЙЛ БОЛОН ХАВТАСРУУ ХАНДАХ
Системд үл хамаарсан байдлаар замыг
зааж өгөхийг хүсвэл File.separator
тогтмолыг хэрэглэж болно.
– “C:”+File.separator + “jdk1.5.0” +
File.separator + “src” + File.separator + “java”
+ File.separator + “io”, “File.java”
- 7. ФАЙЛ БОЛОН ХАВТАСРУУ ХАНДАХ
File классын объектийг олон янзаар үүсгэж
болно.
Заавал зөв зам заах албагүй. Хэрвээ буруу
зам заасан бол алдаа гарна.
- 9. ФАЙЛ БОЛОН ХАВТАСРУУ ХАНДАХ
File классын объектыг үүсгэхдээ өөр
компьютер дээрх файлыг заах бол хаягийг,
өөр компьютер дээр share хийгдсэн байгаа
файлыг заавал файлын зам, компьютерийн
нэртэй хамт зааж өгнө.
- 10. ФАЙЛТАЙ АЖИЛЛАХ
Абсолют зам:
– Тухайн файл нь яг хаана байгааг тодорхой заасан
С:New Folderin.txt
Харьцангуй зам:
– Тухайн файл нь яг хаана байгаа нь тодорхой бус
New Folderin.txt
- 11. ФАЙЛТАЙ АЖИЛЛАХ
File класст мэдээлэл авах 30 гаруй функцууд
байх боловч хамгийн хэрэгтэйг нь тайлбарлая
– getName() : Уг файл объектын зааж буй файлын
нэрийг буцаана.
– getPath() : Файлын нэрийг болон оршиж буй замын
бүтэн мэдээлэл агуулна
– isAbsolute() : Файлыг зааж буй зам нь абсолют
замуу эсвэл харьцангуй замуу гэдгийг мэдээлнэ.
- 12. ФАЙЛТАЙ АЖИЛЛАХ
– getParent() : File объектийг заасан хавтас эсвэл
файлыг агуулж буй хавтасны замыг тэмдэгт
мөрөөр буцаана.
– getParentFile() : Дээрх замыг File объект хэлбэрээр
буцаана.
– exists() : Уг объектийн зааж буй файл уг заагдсан
зам дээр оршиж буй эсэх
– isDirectory() : Хавтас зааж байгаа тохиолдолд үнэн
утга буцаана
- 13. ФАЙЛТАЙ АЖИЛЛАХ
– isFile() : Файл зааж байгаа тохиолдолд үнэн утга
буцаана
– isHidden() : Уг файл далдлагдсан эсэхийг буцаана
– canRead() : Заагдсан файлыг унших эрхтэй
эсэхийг харах
– canWrite() : Заагдсан файлд бичих эрхтэй эсэхийг
харах
– getAbsolutePath() : Абсолют замыг буцаана
– getAbsoluteFile() : Абсолюут замыг File объектоор
буцаана
- 15. ФАЙЛТАЙ АЖИЛЛАХ
Хэрэв бидний зааж өгсөн файл эсвэл хавтас
оршиж байгаа бол дараах функцуудээр
тэдний тухай нэмэлт мэдээлэл авч болно:
– list() : Хэрэв хавтас зааж байсан бол уг хавтас
дотор юу юу байгааг заасан тэмдэгт мөр массив
өгнө. Хавтас хоосон бол хоосон массив буцаана.
Хандах эрхгүй хавтаст хандвал SecurityException
үүсдэг.
- 16. ФАЙЛТАЙ АЖИЛЛАХ
– listFiles() : Дээрх мэдээллийг File объектуудаас
бүрдсэн массиваар буцаана.
– listRoots() : Үндсэн дискийн агуулгыг File
объектуудаас бүрдсэн массивыг буцаана.
Windows –д бол бүх логик драйвер дээрх мэдээллийг
буцаана.
Unix систем дээр бол root хавтас доторх мэдээллийг
буцаана.
- 17. ФАЙЛТАЙ АЖИЛЛАХ
– length() : Файл зааж байгаа тохиолдолд хэмжээг нь
байтаар тоолон long төрлөөр утга буцаана. Уг
файл байхгүй бол 0 утга буцаана.
– lastModified() : Уг файл хэзээ үүссэнийг нь
милсекундээр long төрөлтэй утга буцаана.
Энэ тоог огноо руу хөрвүүлэх шаардлага гарвал
new Date(milSecond) гэж болно.
- 19. ФАЙЛ ХАВТСЫГ ҮҮСГЭХ ӨӨРЧЛӨХ
File класс дотор файлыг үүсгэх, устгах, read
only болгох, нэрийг нь солих гэх мэт олон
функцууд байдаг.
– rename() : Уг объектийн зааж буй файл эсвэл
хавтасны нэрийг аргументад өгөгдсөн File
объектийн замын мэдээллийн дагуу солино.
Өөрчлөх нэрийг замаар нь өгдөг тул хэрэв өөр
хавтас дотор зааж өгсөн бол уг файл одоо байгаа
газраасаа уг заагдсан газар руу зөөгддөг.
- 20. ФАЙЛ ХАВТСЫГ ҮҮСГЭХ ӨӨРЧЛӨХ
– setReadOnly() : Файлыг Read only болгоно
– mkdir() : Уг объектийн замын мэдээллийн дагуу
шинэ хавтас үүсгэнэ. Хэрэв замд заагдсан эх
хавтаснууд байхгүй байвал энэ функц уг хавтасыг
үүсгэж чадахгүй.
– mkdirs() : Дээрхээс ялгаатай нь байхгүй байгаа эх
хавтаснуудыг үүсгэж чадна.
- 21. ФАЙЛ ХАВТСЫГ ҮҮСГЭХ ӨӨРЧЛӨХ
– createNewFile() : Уг объектийн замын мэдээллээр
хоосон файл үүсгэнэ. Энэ функц нь зөвхөн
үүсгэгдсэн байгаа хавтас дотор л файл үүсгэж
чадна.
– CreateTempFile(String prefix, String suffix, File
directory) : Түр ашиглагдах файл үүсгэдэг.
Directory-д заагдсан газарт prefix-ээр санамсаргүй
тэмдэгт залгагдсан нэртэй, suffix өргөтгөлтэй файл
үүсгэдэг.
- 22. ФАЙЛ ХАВТСЫГ ҮҮСГЭХ ӨӨРЧЛӨХ
– delete() : Өөрийн зааж буй файл эсвэл хавтасыг
устгана. Устгаж чадвал true утга буцаана. Хэрэв
устгах хавтас хоосон биш байвал устгадаггүй.
– deleteOnExit() : Програм дуусахад уг объектийн
зааж байсан файл эсвэл хавтасыг устгадаг.
- 23. ФАЙЛРУУ БИЧИХ
Файлруу бичихийн тулд
FileOutputStream классыг хэрэглэдэг.
– Энэ арга файлтай ажиллах эхний арга юм
FileOutputStream класс нь OutputStream
классаас удамшсан.
- 24. ФАЙЛРУУ БИЧИХ
Энэ классын байгуулагч функцыг 5 өөр
параметртэйгээр дуудаж болно:
– FileOutputStream(String fileName) : Уг заагдсан
файлруу хандах гаралтын стрийм үүсгэнэ. Хэрэв
уг файл байсан бол агуулгыг нь шинээр дардаг.
Харин файл олдохгүй бол FileNotFound exception
үүсдэг.
– FileOutputStream(File file) : Эхний функцтэй ижил
- 25. ФАЙЛРУУ БИЧИХ
– FileOutputStream(String fileName, boolean append) :
Эхнийхээс ялгаатай нь хоёрдахь аргументаар true
утга дамжигдвал файлын өмнө байсан агуулга
дарагдахгүй хойноос нь залгаж бичнэ.
– FileOutputStream(File file, boolean append) : Дээрх
функцтэй ижил
– FileOutputStream(FileDescription desc) :
FileDescriptor объект ашиглан үүсгэх. Энэ объект
нь файлтай холбогдсон холбоос юм.
- 26. ФАЙЛРУУ БИЧИХ
Энэ аргыг хэрэглэн файлд бичихийн өмнө уг
файлаа оршин байгаа эсэхийг шалгах
хэрэгтэй.
– File объект хэрэглэн уг дамжуулагдсан зам дээрх
зүйл файл эсвэл хавтасын аль нь болохыг
тодорхойлох
- 27. ФАЙЛРУУ БИЧИХ
– File объект хэрэглэн уг файл оршиж байгаа
эсэхийг шалгах
– Уг файлыг заасан зам дахь эх хавтаснууд
байхгүй байвал тэдгээрийг mkdirs()
ашиглан үүсгэж өгөх.
- 29. ФАЙЛРУУ БИЧИХ
FileDescriptor ашиглан файлруу гаралтын
stream үүсгэх.
– Програм зохиогч ийм объект үүсгэж чадахгүй
боловч үүсчихсэн байгаа FileOutputStream
объектийн getFD() функцыг ашиглан descriptor-ийг
авдаг.
– Үүнийг ашиглан нэг файлруу олон зэрэг бичилт
хийхэд жишээ нь хэрэглэж болно.
- 30. ФАЙЛРУУ БИЧИХ
Файлруу гаралтын урсгал үүсгэсний дараа
write() функцыг ашиглан файлруу өгөгдлийг
бичнэ.
Өгөгдлийг бичиж дуусаад close() функцээр нь
файлаа хаана.
- 31. ФАЙЛРУУ БИЧИХ
Java 1.4 – с эхлэн ашиглагдаж буй файлтай
ажиллах аргыг авч үзье.
– Энэ арга нь өмнөх аргыг бодвол оролт гаралтын
ажиллагааны хурдыг нэмэгдүүлсэн.
- 32. ФАЙЛРУУ БИЧИХ
Файл руу 2 аргаар хандаж болно.
– Дараалсан хандалт (direct access).
Ийм хандалтаар файлд хандвал эхнээс нь эхэлж
унших замаар гүйцэтгэдэг.
– Санамсаргүй хандалт (random access). Энэ нь
файлын дурын хэсгээс хандах, бичих боломжийг
олгодог хандалт юм.
- 33. ФАЙЛРУУ БИЧИХ
Файл руу хандах энэ аргад гурван төрлийн
объект хэрэглэдэг.
– Физик файлруу холбоотой stream
Гаралтад FileOutputStream
Оролтод FileInputStream
Хэрэв файлруу санамсаргүй хандалт үүсгэх эсвэл уншилт
болон бичилт хийхээр үүсгэх бол RandomAccessFile
объектийг ашиглана.
- 34. ФАЙЛРУУ БИЧИХ
– Өгөгдлүүдийг бичих болон уншихад зориулан түр
хадгалах нэг болон хэд хэдэн буфер объект.
– Буферууд болон stream-ийг ашиглан буферээс
stream-рүү, stream-ээс буферлүү өгөгдөл
дамжуулах боломжийг олгодог холбогч (channel)
объект.
- 35. ФАЙЛРУУ БИЧИХ
Унших бичих процесс нь:
– Бичихдээ өгөгдлөө буферуудын аль нэг рүү
оруулаад дараа нь холбогч объектийг ашиглан уг
буфер дахь өгөгдлийг стрим рүү бичүүлнэ.
– Уншихдаа холбогч объектийг ашиглан стримээс
өгөгдлийг буферлүү оруулаад дараа нь
буферээсээ уншиж авдаг.
- 41. ФАЙЛААС УНШИХ
Файлаас унших үйлдлийг FileInputStream
класс гүйцэтгэнэ.
– Энэ классын объект руу уншилт хийх файлын
нэрийг стрингээр эсвэл File объектоор дамжуулах
хэрэгтэй.
- 44. RANDOM ACCESS FILE
Хэрэв файл руу унших болон бичихээр нээх
Мөн файлын дурын хэсгээс унших
боломжтойгоор ажиллах хэрэгтэй болвол
Эдгээр тохиолдлуудад RandomAccessFile
классыг хэрэглэдэг. Энэ класс нь өөр
классаас удамшаагүй бөгөөд санамсаргүй
хандалтыг бий болгоно.
– Байгуулагчид нь файлын замын мэдээлэл болон
файлыг нээх горимын мэдээллийг дамжуулах
ёстой.
- 45. RANDOM ACCESS FILE
Энэ класс нь өөр классаас удамшаагүй
бөгөөд санамсаргүй хандалтыг бий болгоно.
– Байгуулагчид нь файлын замын мэдээлэл болон
файлыг нээх горимын мэдээллийг дамжуулах
ёстой.
- 46. RANDOM ACCESS FILE
Горимууд:
– r: Файлыг уншихаар нээнэ
– rw: Файлыг унших бичихээр нээнэ
– rwd: Файлыг унших бичихээр нээх ба бүх үйлдлүүд
нь буферт хүлээгдэлгүйгээр шууд файлтайгаа
ажиллахыг шаарддаг.
– rws: Файлыг унших бичихээр нээнэ. Бичигдсэн
өгөгдлийн уртын хэмжээ нь мөн хамт бичигддэг.