Page 38 - การโปรแกรมคอมพิวเตอร์ขั้นสูง
P. 38
2-28 การโปรแกรมคอมพิวเตอร์ขั้นสูง
ค�ำ อ ธบิ ายโปรแกรม
บรรทัดท ี่ 1-10 สร้างค ลาสชื่อ TestFileClass7
บรรทัดท ี่ 2-9 สร้างเมธอด main เพื่อเริ่มต้นการท ำ�งานข องโปรแกรม
บรรทัดท ี่ 3 ส ร้างอ อบเจ็กต์ข องค ลาสไฟลจ์ ากไฟลช์ ื่อ “question.docx” พร้อมก ับร ะบเุส้นท างข องไฟล์
และประกาศตัวแปรแ บบอ้างอิง ชื่อ f1 เพื่อใช้สำ�หรับอ้างอิงไปย ังอ อบเจ็กต์ดังก ล่าว
บรรทัดที่ 4 ส ร้างออบเจ็กต์ของคลาสไฟล์จากไฟล์ชื่อ “abc.txt” พร้อมกับระบุเส้นทางของไฟล์ และ
ประกาศตัวแปรแ บบอ้างอิง ชื่อ f2 เพื่อใช้ส ำ�หรับอ้างอิงไปยังอ อบเจ็กต์ดังก ล่าว
บรรทัดท ี่ 5 ส ร้างออบเจ็กต์ของคลาสไฟล์โดยใส่เฉพาะเส้นทางเท่านั้น คือ “C:\\TmpJava\\” และ
ไม่มีการร ะบุชื่อไฟล์ ใช้สำ�หรับแทนเส้นท างข องไฟล์ และป ระกาศตัวแปรแ บบอ ้างอิงช ื่อ f3
เพื่อใช้สำ�หรับอ้างอิงไปย ังอ อบเจ็กต์ท ี่เก็บเส้นทางข องไฟล์ด ังกล่าว
บรรทัดท ี่ 6 สร้างออบเจ็กต์ของคลาสไฟล์โดยใส่เฉพาะเส้นทางเท่านั้น คือ “C:\\TmpHtml\\” และ
ไม่มีการร ะบุช ื่อไฟล์ ใช้สำ�หรับแ ทนเส้นท างข องไฟล์ และป ระกาศต ัวแปรแ บบอ ้างอิงช ื่อ f4
เพื่อใช้ส ำ�หรับอ ้างอิงไปยังออบเจ็กต์ที่เก็บเส้นทางของไฟล์ด ังก ล่าว
บรรทัดท ี่ 7 ใ ช้เมธอด renameTo() เพื่อเปลี่ยนชื่อไฟล์จากออบเจ็กต์ f1 ไปเป็นชื่อใหม่ตามค่าของ
ออ บเจ็กต์ f2 ผลลัพธ์ คือ true แสดงว่าเปลี่ยนชื่อไฟล์น ี้ส ำ�เร็จ
บรรทัดท ี่ 8 ใ ช้เมธอด renameTo() เพื่อเปลี่ยนชื่อไดเรกทอรีหรือเส้นทางจากออบเจ็กต์ f3 ไปเป็น
ไดเรกทอรีหรือเส้นทางใหม่ตามค่าของออบเจ็กต์ f4 ผลลัพธ์ คือ true แสดงว่าเปลี่ยน
ไดเรกท อ รีหรือเส้นท างนี้สำ�เร็จ
ผลก ารท �ำ งานข องโปรแกรม
ผลท ี่ได้จากก ารทำ�งานของโปรแกรม ex2-15.java เป็นด ังนี้
rename f1 to f2 ? true
rename f3 to f4 ? true
2.6 เมธอด delete() ใชส้ ำ�หรับลบไฟล์หรือไดเรกทอรี ถา้ ผลลพั ธเ์ ท่ากับ true แสดงว ่าล บไฟลห์ รอื ไดเรกทอ รี
นั้นสำ�เร็จ แต่ถ้าผลลัพธ์เป็น false แสดงว ่าไม่ส ำ�เร็จ โดยม ีร ูปแ บบ ดังต ่อไปน ี้
boolean obj.delete()
โดย
boolean คือ ผลลัพธ์ที่เกิดจากก ารล บไฟล์หรือไดเรกท อ รี จะส ่งค ่ากลับม าเป็นช นิด boolean
obj คือ ออบเจ็กต์ท ี่เกิดจากคลาสไฟล์
กรณีที่ลบไดเรกทอรีจะต้องไม่มีไฟล์หรือไดเรกทอรีย่อยอยู่ภายในไดเรกทอรีที่ต้องการลบ ไม่เช่นนั้น
จะไม่สามารถทำ�การล บไดเรกทอรีด ังกล่าวได้