Page 29 - การโปรแกรมคอมพิวเตอร์ขั้นสูง
P. 29

สตริงบิวเดอร์ 2-19

       คอนส​ ตรัคเ​ทอร์น​ ี้จ​ ะท​ ำ�การส​ ร้างอ​ อบเ​จ็กต์ข​ องไ​ฟล์จ​ ากช​ ื่อไ​ฟล์ (file name) และเ​ส้นท​ างข​ องไ​ฟล์ (path) ตาม​
ที่​ระบุ​เอา​ไว้ สำ�หรับ​การอ​ ้างอิง​เส้น​ทาง​ของไ​ฟล์น​ ั้น ในร​ ะบบด​ อสห​ รือว​ ินโดวส์จ​ ะอ​ ้างอิง​ด้วยช​ ื่อ​ไดร์ฟ​ตามด​ ้วยเ​ส้นท​ าง​
และช​ ื่อไ​ฟล์ ส่วน​เครื่องหมาย \\ (blackslash) ในภ​ าษาจ​ าวา​จะ​ต้องใ​ส่ส​ องต​ ัว เพราะถ​ ือว่าเ​ป็นอ​ ักขระ​พิเศษแ​ ละบ​ ังคับ​
ให้ใ​ส่ต​ ามก​ ฎข​ องภ​ าษา ซึ่งอ​ ักขระพ​ ิเศษ (escape sequence) นี้เ​ป็นค​ ่าค​ งที่ต​ ัวอ​ ักษรช​ นิดห​ นึ่งข​ องภ​ าษาจ​ าวา ใช้ใ​นก​ าร​
ควบคุม​การ​แสดงผ​ ลแ​ ละ​การท​ ำ�​หน้าที่​พิเศษอ​ ื่น ๆ การเ​ขียนจ​ ะใ​ช้ต​ ัว​อักขระ "\ (escape character) นำ�​หน้า แล้ว​ตาม​
ด้วยต​ ัวอ​ ักษรพ​ ิเศษ​ที่​ต้องการใ​ช้ เช่น ต้องการใ​ช้ \ จะ​ต้อง​เขียน​เป็น \\ เป็นต้น

       ดัง​นั้น จาก​ตัวอย่าง “c:\\Temp\\book.doc” เส้นท​ างจ​ ริงค​ ือ “c:\Temp\book.doc”

รูปแ​ บบท​ ี่ 2 	    File(String directoryPath)                             			  	

			

โดย
    directoryPath คือ เส้น​ทาง​ของไ​ฟล์ ซึ่ง​ค่าที่​ระบุต​ ้องเ​ป็น String

       คอน​สตรัค​เทอร์​นี้​จะ​ทำ�การ​สร้าง​ออบ​เจ็กต์​ของ​ไฟล์ โดย​ใส่​เฉพาะ​เส้น​ทาง​เท่านั้น​และ​ไม่มี​การ​ระบุ​ชื่อ​ไฟล์
สำ�หรับ directoryPath ใช้แ​ ทน​เส้น​ทาง​ของไ​ฟล์ เช่น “c:\\Temp\\” ซึ่ง​แทนเ​ส้น​ทาง​จริงค​ ือ “c:\Temp\”

รูปแ​ บบท​ ี่ 3 		   File(String directoryPath, String filena	m	e)

       โดย
            directoryPath 	คือ เส้นท​ างข​ องไ​ฟล์ ซึ่ง​ค่าที่ร​ ะบุ​ต้อง​เป็น String
            filename	 คือ ชื่อ​ไฟล์ ซึ่ง​ค่าที่​ระบุ​ต้อง​เป็น String

       คอน​สตรัคเ​ทอร์​นี้​จะส​ ร้างอ​ อบเ​จ็กต์ข​ องไ​ฟล์ค​ ล้าย​กับร​ ูปแ​ บบ​ที่ 1 ต่างก​ ันท​ ี่​แยกก​ ำ�หนด​คนละ​ส่วนแ​ ยกอ​ อก​
จาก​กัน โดยที่ directoryPath คือ ให้​เก็บเ​ฉพาะเ​ส้น​ทาง​เท่านั้น ส่วน filename คือ เก็บเ​ฉพาะช​ ื่อ​ไฟล์​อย่าง​เดียว

รปู ​แบบท​ ี่ 4 	 	  File(File dirObj, String filename) 		

       โดย
            dirObj 	 คือ ออบ​เจ็กต์ข​ องเ​ส้นท​ างไ​ฟล์ ซึ่งค​ ่าที่​ระบุต​ ้อง​เป็น​ออบเ​จ็กต์
            filename	 คือ ชื่อไ​ฟล์ ซึ่งค​ ่าที่​ระบุ​ต้องเ​ป็น String

       คอน​สตรัคเ​ทอร์​นี้จ​ ะส​ ร้างอ​ อบเ​จ็กต์​ของไ​ฟล์​คล้าย​กับร​ ูปแ​ บบ​ที่ 1 ต่างก​ ัน​ที่แ​ ยกก​ ำ�หนด​คนละส​ ่วน​แยกอ​ อก​
จากกนั โดย File dirObj คอื ออบเ​จก็ ตข์​ องเ​สน้ ท​ างไ​ฟลต​์ ามร​ ปู แ​ บบท​ ี่ 2 สว่ น filename คอื เกบ็ เ​ฉพาะช​ ือ่ ไ​ฟลอ​์ ยา่ งเ​ดยี ว
   24   25   26   27   28   29   30   31   32   33   34