Page 43 - การโปรแกรมคอมพิวเตอร์ขั้นสูง
P. 43
สตริงบิวเดอร์ 2-33
ในก ารสร้างไฟล์จากค ลาสพ รินต์ไรต์เทอร์ม ีข้อควรร ะวังอ ยู่ 2 ประการ คือ
1. หากไฟล์ที่ต้องการสร้างขึ้นมาใหม่นั้นเป็นไฟล์ที่มีอยู่แล้วในไดเรกทอรี การสร้างนี้จะทับไฟล์เดิมทันที
ซึ่งค วรต ้องร ะวังในก ารส ร้างไฟล์ใหม่ด ้วยก ารใชเ้มธอด exists() ของค ลาสไฟลท์ ำ�การต รวจส อบไฟลก์ ่อนส ร้างท ุกค รั้ง
เพื่อป ้องกันข ้อผ ิดพ ลาดด ังก ล่าว สำ�หรับก ารเขียนไฟลแ์ บบเพิ่มเติมจ ากไฟลเ์ดิม จะใชค้ ลาสไฟลไ์รตเ์ทอร์ (FileWriter
class) เข้ามาช ่วย ซึ่งจ ะไม่ได้ก ล่าวไว้ในหน่วยน ี้ มีเฉพาะต ัวอย่างโปรแกรมเท่านั้น
2. เมื่อม ีก ารใช้ง านเกี่ยวก ับไฟล์จ ะต ้องม ีก ารใส่ throws Exception ไว้ท ี่ส ่วนห ัวข องเมธอดท ี่ใช้ง านท ุกค รั้ง
(ดูตัวอย่างท ี่ 2.17) ไม่เช่นนั้นจะเกิดข ้อผิดพลาดทางโปรแกรม ซึ่งร ายล ะเอียดของการใช้ Exception ไม่ได้ก ล่าวไว้ใน
หน่วยน ี้ แต่ส ามารถศึกษาได้จากชุดว ิชาการโปรแกรมคอมพิวเตอร์
ตวั อยา่ งท ี่ 2.17 การส ร้างออบเจ็กต์ของพ รินต์ไรต์เทอร์
ex2-17.java
1 class TestCreateFile1 {
2 public static void main(String[] args) throws Exception {
3 java.io.PrintWriter txtFile1 = new java.io.PrintWriter("C:\\Temp\\x1.txt");
4 java.io.File f2 = new java.io.File("C:\\Temp\\x2.txt");
5 java.io.PrintWriter txtFile2 = new java.io.PrintWriter(f2);
6 }
7}
ค�ำ อธิบายโปรแกรม
บรรทัดท ี่ 1-7 สร้างค ลาสช ื่อ TestCreateFile1
บรรทัดท ี่ 2-6 สร้างเมธอด main เพื่อเริ่มต้นก ารทำ�งานข องโปรแกรม
บรรทัดท ี่ 3 สร้างออบเจ็กต์ของพรินต์ไรต์เทอร์ ซึ่งจ ะทำ�ให้เกิดเป็นไฟล์ใหม่ขึ้นมา ชื่อ “x1.txt” เก็บไว้ท ี่
ตำ�แหน่ง “C:\\Temp\\” ตามท ี่ร ะบุไว้ในว งเล็บ และป ระกาศต ัวแปรแ บบอ ้างอิง ชื่อ txtFile1
เพื่อใช้ส ำ�หรับอ ้างอิงไปยังอ อบเจ็กต์ด ังก ล่าว
บรรทัดที่ 4 ส ร้างอ อบเจ็กต์ข องคลาสไฟล์จ ากไฟล์ชื่อ “x2.txt” พร้อมกับระบุเส้นท างของไฟล์ คือ C:\\
Temp\\ และป ระกาศต ัวแปรแ บบอ ้างอิง ชื่อ f2 เพื่อใช้ส ำ�หรับอ ้างอิงไปย ังอ อบเจ็กต์ด ังกล่าว
บรรทัดท ี่ 5 สร้างออบเจ็กต์ของพ รินต์ไรต์เทอร์เช่นเดียวกันกับบ รรทัดท ี่ 3 โดยนำ�ข้อมูลเกี่ยวก ับช ื่อไฟล์
และต �ำ แหนง่ ท เี่ กบ็ ม าจ าก ออ บเจก็ ต์ f2 ท�ำ ใหเ้ กดิ เปน็ ไฟลใ์ หมข่ ึน้ ม า ชือ่ “x2.txt” และป ระกาศ
ตัวแปรแบบอ้างอิง ชื่อ txtFile2 เพื่อใช้ส ำ�หรับอ้างอิงไปย ังอ อบเจ็กต์ดังก ล่าว
ผลการท�ำ งานของโปรแกรม
ผลที่ได้จากการทำ�งานของโปรแกรม ex2-17.java ที่ตำ�แหน่งเก็บไฟล์หรือไดเรกทอรีที่ระบุไว้ในตอนสร้าง
ออบเจ็กต์จะป รากฏไฟล์ x1.txt และ x2.txt