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 คอื เกบ็ เฉพาะช ือ่ ไฟลอ์ ยา่ งเดยี ว