Page 44 - การโปรแกรมคอมพิวเตอร์ขั้นสูง
P. 44
2-34 การโปรแกรมคอมพิวเตอร์ขั้นสูง
1.2 การเขียนข ้อมูลล งในไ ฟล์โดยใช้ค ลาสพรินต์ไ รต์เทอร์ มีเมธอดท ี่น ่าสนใจด ังนี้
1.2.1 เมธอด print() ใชส้ ำ�หรับเขยี นข ้อมูลล งในไฟล์ ซึ่งม รี ูปแ บบก ารใชง้ านค ลา้ ยก ับก ารใชใ้น System.
out ที่ให้แสดงผลออกจากจอภาพเช่นเดียวกัน สำ�หรับการเขียนข้อมูลลงในไฟล์สามารถเขียนข้อมูลที่เป็นข้อความ
หรือสตริง คาแรคเทอร์ หรือตัวเลขจำ�นวนเต็มและทศนิยมได้ โดยมีรูปแบบคือ ถ้าข้อมูลที่ต้องการเขียนเป็นสตริง
หรือค าแรคเทอร์ จะต้องใสข่ ้อมูลน ั้นอ ยูภ่ ายใต้เครื่องหมายอ ัญประกาศ ส่วนข้อมูลท ีเ่ป็นต ัวเลขไมต่ ้องใสเ่ครื่องหมาย
อัญประกาศ โดยม ีรูปแบบดังนี้
void obj.print(data)
โดย
void คือ ผลลัพธ์ท ี่เกิดจากการเขียนข ้อมูลลงในไฟล์ ซึ่งไม่มีก ารส ่งค ่าใด ๆ กลับม า
obj คือ ออบเจ็กต์ท ี่เกิดจ ากค ลาสพ รินต์ไรต์เทอร์
data คือ ข้อมูลที่ต้องการเขียนลงในไฟล์
ซึ่งสามารถระบุเป็นชนิดข้อมูลห รือตัวแปรได้ ดังนี้
1) ชนิดข้อมูลท่ีเป็นสตริงหรือคาแรคเทอร์ เป็นการเขียนข้อมูลที่เป็นสตริงหรือคาแรคเทอร์ลง
ในไฟล์ ซึ่งข ้อมูลเหล่านี้จ ะต ้องอยู่ภ ายใต้เครื่องหมายอ ัญประกาศเท่านั้น เช่น obj.print("Hello…."); เป็นต้น
2) ชนิดข้อมูลท่ีเป็นตัวเลขจำ�นวนเต็มหรือทศนิยม เป็นการเขียนข้อมูลที่เป็นตัวเลขจำ�นวนเต็ม
หรือทศนิยมลงในไฟล์ ซึ่งข้อมูลเหล่านี้ไม่ต้องอยู่ภายใต้เครื่องหมายอัญประกาศ เช่น obj.print(500); obj.print
(20.75); เป็นต้น
3) ระบเุ ปน็ ต วั แปร เป็นการเขียนข ้อมูลโดยเอาค ่าทีอ่ ยูภ่ ายในต ัวแปรน ั้น ซึ่งอ าจเก็บค ่าเป็นส ตริง
คาแรคเทอร์ เลขจำ�นวนเต็มห รือทศนิยมก ็ได้ ซึ่งตัวแปรน ี้ไม่ต ้องอ ยู่ภ ายใต้เครื่องหมายอ ัญประกาศ เช่น int i = 70;
obj.print(i); เป็นต้น
1.2.2 เมธอด println() ใช้สำ�หรับเขียนข้อมูลลงในไฟล์เช่นกัน ซึ่งมีรูปแบบการใช้งานเหมือนกับ
เมธอด print() เกือบท ุกป ระการ แตกต่างกันตรงที่ เมธอด println() นี้ เมื่อเขียนข้อมูลเสร็จในแ ต่ละครั้งจ ะปิดท ้าย
ด้วยอักขระพิเศษชุดห นึ่งค ือ \r\n เพื่อให้เคอร์เซอร์เลื่อนข ึ้นบรรทัดใหม่ ใช้สำ�หรับร ะบบปฏิบัติการวินโดวส์ และ \n
ใช้ส ำ�หรับร ะบบปฏิบัติก ารยูนิกซ์ ดังน ั้น เมื่อจบการทำ�งานในแต่ละครั้งข องเมธอด println() จะทำ�ให้เคอร์เซอร์เลื่อน
ขึ้นบรรทัดใหม่ท ุกครั้ง แต่สำ�หรับเมธอด print() เคอร์เซอร์จ ะอยู่ที่บ รรทัดเดิมเสมอ
1.2.3 เมธอด close() ใช้สำ�หรับปิดไฟล์ข้อมูล เพื่อจบการทำ�งานเกี่ยวกับไฟล์ ดังนั้น เมื่อมีการอ่าน
เขียนข ้อมูลก ับไฟล์แล้วท ุกครั้งก่อนจ บการท ำ�งานจะต ้องทำ�การปิดไฟล์ก่อนเสมอ เพื่อให้ข้อมูลท ี่ทำ�การอ ่านเขียนอ ยู่
นั้นได้จ ัดเก็บเข้าท ี่แ ละไม่สูญหายเมื่อปิดการท ำ�งานของโปรแกรม ซึ่งมีรูปแ บบดังนี้
void obj.close()
โดย
void คือ ผลลัพธ์ที่เกิดจากก ารป ิดไฟล์ ซึ่งไม่มีการส่งค ่าใด ๆ กลับมา
obj คือ ออบเจ็กต์ท ี่เกิดจากคลาสพ รินต์ไรต์เทอร์