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 	 คือ ออบ​เจ็กต์ท​ ี่เ​กิด​จาก​คลาสพ​ รินต์​ไรต์​เทอร์
   39   40   41   42   43   44   45   46   47   48   49