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

2-36 การโปรแกรมคอมพิวเตอร์ขั้นสูง

       บรรทัดท​ ี่ 12 	 ใ ช้​เมธอด print() เขียน​ข้อมูล​ลง​ใน​ไฟล์​ด้วย​ค่า “Peerapol ” ซึ่ง​หลัง​จาก​เขียน​เสร็จ​แล้ว​
                  เคอร์เซอร์ย​ ัง​คง​อยู่​ที่บ​ รรทัดเ​ดิม

       บรรทัด​ที่ 13 	 ใชเ​้ มธอด println() เขยี นข​ อ้ มลู ล​ งใ​นไ​ฟลด​์ ว้ ยค​ า่ ใ​นต​ วั แปร i คอื 200 ซึง่ ห​ ลงั จ​ ากเ​ขยี นเ​สรจ็ แ​ ลว้ ​
                   เคอร์เซอร์​จะ​เลื่อน​ไป​อยู่​บรรทัด​ถัด​ไป ทำ�ให้​การ​เขียน​ข้อมูล​ครั้ง​ต่อ​ไป​จะ​เขียน​ที่​บรรทัด​ใหม่

       บรรทัด​ที่ 14 	 ปิดไ​ฟล์ข​ ้อมูล เพื่อจ​ บก​ ารท​ ำ�งานเ​กี่ยวก​ ับไ​ฟล์

       ผล​การ​ท�ำ งานข​ อง​โปรแกรม
       ผลท​ ี่​ได้จ​ าก​การท​ ำ�งานข​ อง​โปรแกรม ex2-18.java เป็นด​ ังนี้

       หาก​ไฟล์ scores.txt ยังไ​ม่มีอ​ ยู่ จะส​ ร้างไ​ฟล์น​ ี้​ขึ้น​มา และ​เขียน​ข้อมูลล​ ง​ใน​ไฟล์ ดังนี้

                       Nikom 90
                       Peerapol 200

       แต่ถ​ ้า​ไฟล์ scores.txt มีอ​ ยู่​แล้ว จะ​แสดงข​ ้อความว​ ่า “File already exists” และโ​ปรแกรมห​ ยุด​การท​ ำ�งาน​
โดย​ไม่​สามารถเ​ขียน​ข้อม​ ูล​ใด ๆ ลงใ​น​ไฟล์

ตวั อยา่ งท​ ี่ 2.19 กรณีต​ ้องการเ​ปิดไ​ฟล์ข​ ้อมูลแ​ บบเ​พ่ิมเ​ติม (append) ส�ำหรับเ​พิ่มเ​ติมข​ ้อมูลใ​หม่เ​ข้าไป โดยท่ขี​ ้อมูลเ​ดิม​
ยัง​คงอ​ ยู่

 ex2-19.java
   1 class WriteData_append {
   2 	 public static void main(String[] args) throws Exception {
   3 	 	 java.io.PrintWriter output =
        	 new java.io.PrintWriter(new java.io.FileWriter("C:\\Temp\\scores.txt", true));
   4 	 	 output.print("Nikom ");
   5 	 	 output.println(100);
   6 	 	 int i = 130;
   7 	 	 output.print("Peerapol ");
   8 	 	 output.println(i);
   9 	 	 output.close();
  10 	 }
  11 }
   41   42   43   44   45   46   47   48   49   50   51