SlideShare a Scribd company logo
1 of 50
Жава
Технологи
Улаанбаатар Дээд Сургууль
Бэлтгэсэн: Багш Б.Ганзориг
ФАЙЛ, ФОЛДЕРТЭЙ АЖИЛЛАХ
Агуулга:
 Файл болон хавтасруу хандах
 Файлтай ажиллах, шүүлтүүр тавих
 Файл, хавтас үүсгэх, өөрчлөх
 Файлд бичих FileOutputStream
 Текст файлд бичих
 Файлаас унших
 Объектийг файлруу хийх
ФАЙЛ БОЛОН ХАВТАСРУУ ХАНДАХ
 Файл болон хавтастай ажиллахын тулд
File классын объектийг хэрэглэнэ.
– File классын объектийг үүсгэхдээ замыг нь
байгуулагч уруу зааж өгдөг.
ФАЙЛ БОЛОН ХАВТАСРУУ ХАНДАХ
 Гэхдээ File төрлийн объект нь өөрөө
файл заахгүй. Програм зохиогч File
төрлийн объектийг дараах зорилгоор
хэрэглэдэг:
– Уг файл диск дээр байгаа жинхэнэ файл
мөн эсэхэд
– File stream объектийг үүсгэхэд
ФАЙЛ БОЛОН ХАВТАСРУУ ХАНДАХ
 Файл объектийг үүсгэхдээ тухайн файлын
байрлах замыг нь зааж өгөх хэрэгтэй.
– C:Documents and SettingsLaboratoryOutput.txt
 Зарим үйлдлийн системүүд дээр файл
фолдерыг тусгаарлах тэмдэгтүүд өөр өөр
байдаг.
– Жишээ нь: Linux – д :/ байдаг.
ФАЙЛ БОЛОН ХАВТАСРУУ ХАНДАХ
 Системд үл хамаарсан байдлаар замыг
зааж өгөхийг хүсвэл File.separator
тогтмолыг хэрэглэж болно.
– “C:”+File.separator + “jdk1.5.0” +
File.separator + “src” + File.separator + “java”
+ File.separator + “io”, “File.java”
ФАЙЛ БОЛОН ХАВТАСРУУ ХАНДАХ
 File классын объектийг олон янзаар үүсгэж
болно.
 Заавал зөв зам заах албагүй. Хэрвээ буруу
зам заасан бол алдаа гарна.
ФАЙЛ БОЛОН ХАВТАСРУУ ХАНДАХ
 Файлын оршин буй хавтас болон нэрээр нь
салгаж зарлаж болно.
ФАЙЛ БОЛОН ХАВТАСРУУ ХАНДАХ
 File классын объектыг үүсгэхдээ өөр
компьютер дээрх файлыг заах бол хаягийг,
өөр компьютер дээр share хийгдсэн байгаа
файлыг заавал файлын зам, компьютерийн
нэртэй хамт зааж өгнө.
ФАЙЛТАЙ АЖИЛЛАХ
 Абсолют зам:
– Тухайн файл нь яг хаана байгааг тодорхой заасан
С:New Folderin.txt
 Харьцангуй зам:
– Тухайн файл нь яг хаана байгаа нь тодорхой бус
New Folderin.txt
ФАЙЛТАЙ АЖИЛЛАХ
 File класст мэдээлэл авах 30 гаруй функцууд
байх боловч хамгийн хэрэгтэйг нь тайлбарлая
– getName() : Уг файл объектын зааж буй файлын
нэрийг буцаана.
– getPath() : Файлын нэрийг болон оршиж буй замын
бүтэн мэдээлэл агуулна
– isAbsolute() : Файлыг зааж буй зам нь абсолют
замуу эсвэл харьцангуй замуу гэдгийг мэдээлнэ.
ФАЙЛТАЙ АЖИЛЛАХ
– getParent() : File объектийг заасан хавтас эсвэл
файлыг агуулж буй хавтасны замыг тэмдэгт
мөрөөр буцаана.
– getParentFile() : Дээрх замыг File объект хэлбэрээр
буцаана.
– exists() : Уг объектийн зааж буй файл уг заагдсан
зам дээр оршиж буй эсэх
– isDirectory() : Хавтас зааж байгаа тохиолдолд үнэн
утга буцаана
ФАЙЛТАЙ АЖИЛЛАХ
– isFile() : Файл зааж байгаа тохиолдолд үнэн утга
буцаана
– isHidden() : Уг файл далдлагдсан эсэхийг буцаана
– canRead() : Заагдсан файлыг унших эрхтэй
эсэхийг харах
– canWrite() : Заагдсан файлд бичих эрхтэй эсэхийг
харах
– getAbsolutePath() : Абсолют замыг буцаана
– getAbsoluteFile() : Абсолюут замыг File объектоор
буцаана
ФАЙЛТАЙ АЖИЛЛАХ
ФАЙЛТАЙ АЖИЛЛАХ
 Хэрэв бидний зааж өгсөн файл эсвэл хавтас
оршиж байгаа бол дараах функцуудээр
тэдний тухай нэмэлт мэдээлэл авч болно:
– list() : Хэрэв хавтас зааж байсан бол уг хавтас
дотор юу юу байгааг заасан тэмдэгт мөр массив
өгнө. Хавтас хоосон бол хоосон массив буцаана.
Хандах эрхгүй хавтаст хандвал SecurityException
үүсдэг.
ФАЙЛТАЙ АЖИЛЛАХ
– listFiles() : Дээрх мэдээллийг File объектуудаас
бүрдсэн массиваар буцаана.
– listRoots() : Үндсэн дискийн агуулгыг File
объектуудаас бүрдсэн массивыг буцаана.
 Windows –д бол бүх логик драйвер дээрх мэдээллийг
буцаана.
 Unix систем дээр бол root хавтас доторх мэдээллийг
буцаана.
ФАЙЛТАЙ АЖИЛЛАХ
– length() : Файл зааж байгаа тохиолдолд хэмжээг нь
байтаар тоолон long төрлөөр утга буцаана. Уг
файл байхгүй бол 0 утга буцаана.
– lastModified() : Уг файл хэзээ үүссэнийг нь
милсекундээр long төрөлтэй утга буцаана.
 Энэ тоог огноо руу хөрвүүлэх шаардлага гарвал
new Date(milSecond) гэж болно.
ФАЙЛТАЙ АЖИЛЛАХ
ФАЙЛ ХАВТСЫГ ҮҮСГЭХ ӨӨРЧЛӨХ
 File класс дотор файлыг үүсгэх, устгах, read
only болгох, нэрийг нь солих гэх мэт олон
функцууд байдаг.
– rename() : Уг объектийн зааж буй файл эсвэл
хавтасны нэрийг аргументад өгөгдсөн File
объектийн замын мэдээллийн дагуу солино.
Өөрчлөх нэрийг замаар нь өгдөг тул хэрэв өөр
хавтас дотор зааж өгсөн бол уг файл одоо байгаа
газраасаа уг заагдсан газар руу зөөгддөг.
ФАЙЛ ХАВТСЫГ ҮҮСГЭХ ӨӨРЧЛӨХ
– setReadOnly() : Файлыг Read only болгоно
– mkdir() : Уг объектийн замын мэдээллийн дагуу
шинэ хавтас үүсгэнэ. Хэрэв замд заагдсан эх
хавтаснууд байхгүй байвал энэ функц уг хавтасыг
үүсгэж чадахгүй.
– mkdirs() : Дээрхээс ялгаатай нь байхгүй байгаа эх
хавтаснуудыг үүсгэж чадна.
ФАЙЛ ХАВТСЫГ ҮҮСГЭХ ӨӨРЧЛӨХ
– createNewFile() : Уг объектийн замын мэдээллээр
хоосон файл үүсгэнэ. Энэ функц нь зөвхөн
үүсгэгдсэн байгаа хавтас дотор л файл үүсгэж
чадна.
– CreateTempFile(String prefix, String suffix, File
directory) : Түр ашиглагдах файл үүсгэдэг.
Directory-д заагдсан газарт prefix-ээр санамсаргүй
тэмдэгт залгагдсан нэртэй, suffix өргөтгөлтэй файл
үүсгэдэг.
ФАЙЛ ХАВТСЫГ ҮҮСГЭХ ӨӨРЧЛӨХ
– delete() : Өөрийн зааж буй файл эсвэл хавтасыг
устгана. Устгаж чадвал true утга буцаана. Хэрэв
устгах хавтас хоосон биш байвал устгадаггүй.
– deleteOnExit() : Програм дуусахад уг объектийн
зааж байсан файл эсвэл хавтасыг устгадаг.
ФАЙЛРУУ БИЧИХ
 Файлруу бичихийн тулд
FileOutputStream классыг хэрэглэдэг.
– Энэ арга файлтай ажиллах эхний арга юм
 FileOutputStream класс нь OutputStream
классаас удамшсан.
ФАЙЛРУУ БИЧИХ
 Энэ классын байгуулагч функцыг 5 өөр
параметртэйгээр дуудаж болно:
– FileOutputStream(String fileName) : Уг заагдсан
файлруу хандах гаралтын стрийм үүсгэнэ. Хэрэв
уг файл байсан бол агуулгыг нь шинээр дардаг.
Харин файл олдохгүй бол FileNotFound exception
үүсдэг.
– FileOutputStream(File file) : Эхний функцтэй ижил
ФАЙЛРУУ БИЧИХ
– FileOutputStream(String fileName, boolean append) :
Эхнийхээс ялгаатай нь хоёрдахь аргументаар true
утга дамжигдвал файлын өмнө байсан агуулга
дарагдахгүй хойноос нь залгаж бичнэ.
– FileOutputStream(File file, boolean append) : Дээрх
функцтэй ижил
– FileOutputStream(FileDescription desc) :
FileDescriptor объект ашиглан үүсгэх. Энэ объект
нь файлтай холбогдсон холбоос юм.
ФАЙЛРУУ БИЧИХ
 Энэ аргыг хэрэглэн файлд бичихийн өмнө уг
файлаа оршин байгаа эсэхийг шалгах
хэрэгтэй.
– File объект хэрэглэн уг дамжуулагдсан зам дээрх
зүйл файл эсвэл хавтасын аль нь болохыг
тодорхойлох
ФАЙЛРУУ БИЧИХ
– File объект хэрэглэн уг файл оршиж байгаа
эсэхийг шалгах
– Уг файлыг заасан зам дахь эх хавтаснууд
байхгүй байвал тэдгээрийг mkdirs()
ашиглан үүсгэж өгөх.
ФАЙЛРУУ БИЧИХ
ФАЙЛРУУ БИЧИХ
 FileDescriptor ашиглан файлруу гаралтын
stream үүсгэх.
– Програм зохиогч ийм объект үүсгэж чадахгүй
боловч үүсчихсэн байгаа FileOutputStream
объектийн getFD() функцыг ашиглан descriptor-ийг
авдаг.
– Үүнийг ашиглан нэг файлруу олон зэрэг бичилт
хийхэд жишээ нь хэрэглэж болно.
ФАЙЛРУУ БИЧИХ
 Файлруу гаралтын урсгал үүсгэсний дараа
write() функцыг ашиглан файлруу өгөгдлийг
бичнэ.
 Өгөгдлийг бичиж дуусаад close() функцээр нь
файлаа хаана.
ФАЙЛРУУ БИЧИХ
 Java 1.4 – с эхлэн ашиглагдаж буй файлтай
ажиллах аргыг авч үзье.
– Энэ арга нь өмнөх аргыг бодвол оролт гаралтын
ажиллагааны хурдыг нэмэгдүүлсэн.
ФАЙЛРУУ БИЧИХ
 Файл руу 2 аргаар хандаж болно.
– Дараалсан хандалт (direct access).
Ийм хандалтаар файлд хандвал эхнээс нь эхэлж
унших замаар гүйцэтгэдэг.
– Санамсаргүй хандалт (random access). Энэ нь
файлын дурын хэсгээс хандах, бичих боломжийг
олгодог хандалт юм.
ФАЙЛРУУ БИЧИХ
 Файл руу хандах энэ аргад гурван төрлийн
объект хэрэглэдэг.
– Физик файлруу холбоотой stream
 Гаралтад FileOutputStream
 Оролтод FileInputStream
 Хэрэв файлруу санамсаргүй хандалт үүсгэх эсвэл уншилт
болон бичилт хийхээр үүсгэх бол RandomAccessFile
объектийг ашиглана.
ФАЙЛРУУ БИЧИХ
– Өгөгдлүүдийг бичих болон уншихад зориулан түр
хадгалах нэг болон хэд хэдэн буфер объект.
– Буферууд болон stream-ийг ашиглан буферээс
stream-рүү, stream-ээс буферлүү өгөгдөл
дамжуулах боломжийг олгодог холбогч (channel)
объект.
ФАЙЛРУУ БИЧИХ
 Унших бичих процесс нь:
– Бичихдээ өгөгдлөө буферуудын аль нэг рүү
оруулаад дараа нь холбогч объектийг ашиглан уг
буфер дахь өгөгдлийг стрим рүү бичүүлнэ.
– Уншихдаа холбогч объектийг ашиглан стримээс
өгөгдлийг буферлүү оруулаад дараа нь
буферээсээ уншиж авдаг.
ФАЙЛРУУ БИЧИХ
ФАЙЛРУУ БИЧИХ
ФАЙЛРУУ БИЧИХ
Файлтай ажиллах програмын үр дүн:
ТЕКСТ ФАЙЛ ҮҮСГЭН БИЧИХ
ТЕКСТ ФАЙЛ ҮҮСГЭН БИЧИХ
Програмын үр дүн:
ФАЙЛААС УНШИХ
 Файлаас унших үйлдлийг FileInputStream
класс гүйцэтгэнэ.
– Энэ классын объект руу уншилт хийх файлын
нэрийг стрингээр эсвэл File объектоор дамжуулах
хэрэгтэй.
ФАЙЛААС УНШИХ
ФАЙЛААС УНШИХ
RANDOM ACCESS FILE
 Хэрэв файл руу унших болон бичихээр нээх
 Мөн файлын дурын хэсгээс унших
боломжтойгоор ажиллах хэрэгтэй болвол
 Эдгээр тохиолдлуудад RandomAccessFile
классыг хэрэглэдэг. Энэ класс нь өөр
классаас удамшаагүй бөгөөд санамсаргүй
хандалтыг бий болгоно.
– Байгуулагчид нь файлын замын мэдээлэл болон
файлыг нээх горимын мэдээллийг дамжуулах
ёстой.
RANDOM ACCESS FILE
 Энэ класс нь өөр классаас удамшаагүй
бөгөөд санамсаргүй хандалтыг бий болгоно.
– Байгуулагчид нь файлын замын мэдээлэл болон
файлыг нээх горимын мэдээллийг дамжуулах
ёстой.
RANDOM ACCESS FILE
 Горимууд:
– r: Файлыг уншихаар нээнэ
– rw: Файлыг унших бичихээр нээнэ
– rwd: Файлыг унших бичихээр нээх ба бүх үйлдлүүд
нь буферт хүлээгдэлгүйгээр шууд файлтайгаа
ажиллахыг шаарддаг.
– rws: Файлыг унших бичихээр нээнэ. Бичигдсэн
өгөгдлийн уртын хэмжээ нь мөн хамт бичигддэг.
RANDOM ACCESS FILE
 Жишээ:
RANDOM ACCESS FILE
 Програмын үр дүн:
RANDOM ACCESS FILE
 Жишээ:
RANDOM ACCESS FILE
 Програмын үр дүн:

More Related Content

What's hot

Интернетээс мэдээлэл авах, хайх, татаж авах
Интернетээс мэдээлэл авах, хайх, татаж авахИнтернетээс мэдээлэл авах, хайх, татаж авах
Интернетээс мэдээлэл авах, хайх, татаж авахHerlen Byambatsogt
 
5. мэдээллийн аюулгүй байдал
5. мэдээллийн аюулгүй байдал5. мэдээллийн аюулгүй байдал
5. мэдээллийн аюулгүй байдалGansvkh
 
Home цэсний командууд
Home цэсний командуудHome цэсний командууд
Home цэсний командуудOnon Tuul
 
Small basic үзүүлэн
Small basic үзүүлэнSmall basic үзүүлэн
Small basic үзүүлэнbaterden
 
Мотивацийн тухай ойлголт
Мотивацийн тухай ойлголтМотивацийн тухай ойлголт
Мотивацийн тухай ойлголтchemistry teacher
 
Insert цэсний командууд
Insert цэсний командуудInsert цэсний командууд
Insert цэсний командуудOnon Tuul
 
семинар 7
семинар 7семинар 7
семинар 7boogii79
 
лекц. №2
лекц. №2лекц. №2
лекц. №2giimaabn
 
Өгөгдлийн бүтэц
Өгөгдлийн бүтэцӨгөгдлийн бүтэц
Өгөгдлийн бүтэцMuuluu
 
Зардлын бүртгэл Лекц 3
Зардлын бүртгэл Лекц 3Зардлын бүртгэл Лекц 3
Зардлын бүртгэл Лекц 3Bbujee
 
Lecture.7
Lecture.7Lecture.7
Lecture.7Tj Crew
 

What's hot (20)

Интернетээс мэдээлэл авах, хайх, татаж авах
Интернетээс мэдээлэл авах, хайх, татаж авахИнтернетээс мэдээлэл авах, хайх, татаж авах
Интернетээс мэдээлэл авах, хайх, татаж авах
 
5. мэдээллийн аюулгүй байдал
5. мэдээллийн аюулгүй байдал5. мэдээллийн аюулгүй байдал
5. мэдээллийн аюулгүй байдал
 
Computer hereglee1.lekts
Computer hereglee1.lektsComputer hereglee1.lekts
Computer hereglee1.lekts
 
Home цэсний командууд
Home цэсний командуудHome цэсний командууд
Home цэсний командууд
 
Small basic үзүүлэн
Small basic үзүүлэнSmall basic үзүүлэн
Small basic үзүүлэн
 
Econ ch 7
Econ ch 7Econ ch 7
Econ ch 7
 
Мотивацийн тухай ойлголт
Мотивацийн тухай ойлголтМотивацийн тухай ойлголт
Мотивацийн тухай ойлголт
 
Content аnаlysis
Content аnаlysisContent аnаlysis
Content аnаlysis
 
Lekts 3
Lekts 3Lekts 3
Lekts 3
 
Cs101 lec4
Cs101 lec4Cs101 lec4
Cs101 lec4
 
Insert цэсний командууд
Insert цэсний командуудInsert цэсний командууд
Insert цэсний командууд
 
Ms word6
Ms word6Ms word6
Ms word6
 
семинар 7
семинар 7семинар 7
семинар 7
 
Лекц №2 Word программын тухай
Лекц №2  Word программын тухайЛекц №2  Word программын тухай
Лекц №2 Word программын тухай
 
лекц. №2
лекц. №2лекц. №2
лекц. №2
 
Өгөгдлийн бүтэц
Өгөгдлийн бүтэцӨгөгдлийн бүтэц
Өгөгдлийн бүтэц
 
массив
массивмассив
массив
 
Зардлын бүртгэл Лекц 3
Зардлын бүртгэл Лекц 3Зардлын бүртгэл Лекц 3
Зардлын бүртгэл Лекц 3
 
Lecture.7
Lecture.7Lecture.7
Lecture.7
 
Word 2 heseg
Word 2 hesegWord 2 heseg
Word 2 heseg
 

Viewers also liked

Lecture data base programming part1
Lecture data base programming part1Lecture data base programming part1
Lecture data base programming part1ganzorigb
 
программын хэл гэж юу вэ
программын хэл гэж юу вэпрограммын хэл гэж юу вэ
программын хэл гэж юу вэcer147740
 
файл, файлын оролт гаралт
файл, файлын оролт гаралтфайл, файлын оролт гаралт
файл, файлын оролт гаралтKhishighuu Myanganbuu
 

Viewers also liked (7)

Lecture2
Lecture2Lecture2
Lecture2
 
Lec03
Lec03Lec03
Lec03
 
Lec04
Lec04Lec04
Lec04
 
Lecture data base programming part1
Lecture data base programming part1Lecture data base programming part1
Lecture data base programming part1
 
программын хэл гэж юу вэ
программын хэл гэж юу вэпрограммын хэл гэж юу вэ
программын хэл гэж юу вэ
 
файл, файлын оролт гаралт
файл, файлын оролт гаралтфайл, файлын оролт гаралт
файл, файлын оролт гаралт
 
Lecture1
Lecture1Lecture1
Lecture1
 

Similar to Lecture file and folder working

Файлын оролт гаралт
Файлын оролт гаралтФайлын оролт гаралт
Файлын оролт гаралтBayalagmaa Davaanyam
 
Lecture15
Lecture15Lecture15
Lecture15Muuluu
 
компьютерт мэдээллийг боловсруулах
компьютерт мэдээллийг боловсруулахкомпьютерт мэдээллийг боловсруулах
компьютерт мэдээллийг боловсруулахMr_Endko
 
файлын түүний систем
файлын түүний системфайлын түүний систем
файлын түүний системshulam
 
Юниксийн файлын системийн үндэс
Юниксийн файлын системийн үндэсЮниксийн файлын системийн үндэс
Юниксийн файлын системийн үндэсdulmandakh
 
4 organising information
4 organising information4 organising information
4 organising informationKhaidav Tumur
 
4 organising information
4 organising information4 organising information
4 organising informationbaatargo
 
Microsoft power point
Microsoft power pointMicrosoft power point
Microsoft power pointMyfirstturn
 
Microsoft power point
Microsoft power pointMicrosoft power point
Microsoft power pointMyfirstturn
 

Similar to Lecture file and folder working (16)

Файлын оролт гаралт
Файлын оролт гаралтФайлын оролт гаралт
Файлын оролт гаралт
 
lab8
lab8lab8
lab8
 
Lecture 12 os
Lecture 12 osLecture 12 os
Lecture 12 os
 
Lecture15
Lecture15Lecture15
Lecture15
 
компьютерт мэдээллийг боловсруулах
компьютерт мэдээллийг боловсруулахкомпьютерт мэдээллийг боловсруулах
компьютерт мэдээллийг боловсруулах
 
файлын түүний систем
файлын түүний системфайлын түүний систем
файлын түүний систем
 
Lekts 3
Lekts  3Lekts  3
Lekts 3
 
Юниксийн файлын системийн үндэс
Юниксийн файлын системийн үндэсЮниксийн файлын системийн үндэс
Юниксийн файлын системийн үндэс
 
Microsoft power point
Microsoft power pointMicrosoft power point
Microsoft power point
 
Microsoft power point
Microsoft power pointMicrosoft power point
Microsoft power point
 
4 organising information
4 organising information4 organising information
4 organising information
 
4 organising information
4 organising information4 organising information
4 organising information
 
Microsoft power point
Microsoft power pointMicrosoft power point
Microsoft power point
 
Microsoft power point
Microsoft power pointMicrosoft power point
Microsoft power point
 
Microsoft power point
Microsoft power pointMicrosoft power point
Microsoft power point
 
Лекц №14
Лекц №14Лекц №14
Лекц №14
 

More from ganzorigb

Lecture graphic programming
Lecture graphic programmingLecture graphic programming
Lecture graphic programmingganzorigb
 
Lecture network programming
Lecture network programmingLecture network programming
Lecture network programmingganzorigb
 
Lecture tread
Lecture treadLecture tread
Lecture treadganzorigb
 
Lecture file man prog
Lecture file man progLecture file man prog
Lecture file man progganzorigb
 
Lecture data base programming part3
Lecture data base programming part3Lecture data base programming part3
Lecture data base programming part3ganzorigb
 
Lecture data base programming part2
Lecture data base programming part2Lecture data base programming part2
Lecture data base programming part2ganzorigb
 
Lecture hibernate
Lecture hibernateLecture hibernate
Lecture hibernateganzorigb
 

More from ganzorigb (20)

Lecture 1 2
Lecture 1 2Lecture 1 2
Lecture 1 2
 
Pl lecture1
Pl lecture1Pl lecture1
Pl lecture1
 
Pl lecture2
Pl lecture2Pl lecture2
Pl lecture2
 
Pl lecture3
Pl lecture3Pl lecture3
Pl lecture3
 
Pl lecture4
Pl lecture4Pl lecture4
Pl lecture4
 
Pl lecture5
Pl lecture5Pl lecture5
Pl lecture5
 
Pl lecture6
Pl lecture6Pl lecture6
Pl lecture6
 
Pl lecture7
Pl lecture7Pl lecture7
Pl lecture7
 
Pl lecture8
Pl lecture8Pl lecture8
Pl lecture8
 
Pl lecture8
Pl lecture8Pl lecture8
Pl lecture8
 
Lecture graphic programming
Lecture graphic programmingLecture graphic programming
Lecture graphic programming
 
Lecture network programming
Lecture network programmingLecture network programming
Lecture network programming
 
Lecture tread
Lecture treadLecture tread
Lecture tread
 
Lecture file man prog
Lecture file man progLecture file man prog
Lecture file man prog
 
Lecture data base programming part3
Lecture data base programming part3Lecture data base programming part3
Lecture data base programming part3
 
Lecture data base programming part2
Lecture data base programming part2Lecture data base programming part2
Lecture data base programming part2
 
Lecture hibernate
Lecture hibernateLecture hibernate
Lecture hibernate
 
PL Lecture4
PL Lecture4PL Lecture4
PL Lecture4
 
PL Lecture3
PL Lecture3PL Lecture3
PL Lecture3
 
PL Lecture2
PL Lecture2PL Lecture2
PL Lecture2
 

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 классын объектийг олон янзаар үүсгэж болно.  Заавал зөв зам заах албагүй. Хэрвээ буруу зам заасан бол алдаа гарна.
  • 8. ФАЙЛ БОЛОН ХАВТАСРУУ ХАНДАХ  Файлын оршин буй хавтас болон нэрээр нь салгаж зарлаж болно.
  • 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. ФАЙЛРУУ БИЧИХ  Унших бичих процесс нь: – Бичихдээ өгөгдлөө буферуудын аль нэг рүү оруулаад дараа нь холбогч объектийг ашиглан уг буфер дахь өгөгдлийг стрим рүү бичүүлнэ. – Уншихдаа холбогч объектийг ашиглан стримээс өгөгдлийг буферлүү оруулаад дараа нь буферээсээ уншиж авдаг.
  • 40. ТЕКСТ ФАЙЛ ҮҮСГЭН БИЧИХ Програмын үр дүн:
  • 41. ФАЙЛААС УНШИХ  Файлаас унших үйлдлийг FileInputStream класс гүйцэтгэнэ. – Энэ классын объект руу уншилт хийх файлын нэрийг стрингээр эсвэл File объектоор дамжуулах хэрэгтэй.
  • 44. RANDOM ACCESS FILE  Хэрэв файл руу унших болон бичихээр нээх  Мөн файлын дурын хэсгээс унших боломжтойгоор ажиллах хэрэгтэй болвол  Эдгээр тохиолдлуудад RandomAccessFile классыг хэрэглэдэг. Энэ класс нь өөр классаас удамшаагүй бөгөөд санамсаргүй хандалтыг бий болгоно. – Байгуулагчид нь файлын замын мэдээлэл болон файлыг нээх горимын мэдээллийг дамжуулах ёстой.
  • 45. RANDOM ACCESS FILE  Энэ класс нь өөр классаас удамшаагүй бөгөөд санамсаргүй хандалтыг бий болгоно. – Байгуулагчид нь файлын замын мэдээлэл болон файлыг нээх горимын мэдээллийг дамжуулах ёстой.
  • 46. RANDOM ACCESS FILE  Горимууд: – r: Файлыг уншихаар нээнэ – rw: Файлыг унших бичихээр нээнэ – rwd: Файлыг унших бичихээр нээх ба бүх үйлдлүүд нь буферт хүлээгдэлгүйгээр шууд файлтайгаа ажиллахыг шаарддаг. – rws: Файлыг унших бичихээр нээнэ. Бичигдсэн өгөгдлийн уртын хэмжээ нь мөн хамт бичигддэг.
  • 47. RANDOM ACCESS FILE  Жишээ:
  • 48. RANDOM ACCESS FILE  Програмын үр дүн:
  • 49. RANDOM ACCESS FILE  Жишээ:
  • 50. RANDOM ACCESS FILE  Програмын үр дүн: