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
   38   39   40   41   42   43   44   45   46   47   48