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

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

ตัวอยา่ งท​ ่ี 2.18 การ​เขียน​ข้อมูล​ลง​ในไ​ฟล์

ex2-18.java

1 class WriteData {

2 	 public static void main(String[] args) throws Exception {

3	           java.io.File f1 = new java.io.File("C:\\Temp\\scores.txt");

4	           if (f1.exists()) {

5	           	 System.out.println("File already exists");

6	           	 System.exit(0);

7	           	}

8	           java.io.PrintWriter output = new java.io.PrintWriter(f1);

9	           output.print("Nikom ");

10 	         output.println(90);

11 	         int i = 200;

12 	         output.print("Peerapol ");

13 	         output.println(i);

14 	         output.close();

15 	 }

16 }

คำ�​อธิบาย​โปรแกรม
บรรทัดท​ ี่ 1-16 	 สร้างค​ ลาสช​ ื่อ WriteData
บรรทัดท​ ี่ 2-15 	 สร้าง​เมธอด main เพื่อ​เริ่มต​ ้นก​ าร​ทำ�งาน​ของ​โปรแกรม
บรรทัดท​ ี่ 3 	 ส รา้ งอ​ อบเ​จก็ ตข​์ องค​ ลาสไ​ฟลจ​์ ากไ​ฟลช​์ อื่ “scores.txt”พรอ้ มก​ บั ร​ ะบเ​ุ สน้ ท​ างข​ องไ​ฟล์คอื C:\\

             Temp\\ และป​ ระกาศต​ ัวแปรแ​ บบอ​ ้างอิง ชื่อ f1 เพื่อใ​ชส้​ ำ�หรับอ​ ้างอิงไ​ปย​ ังอ​ อบเ​จ็กตด์​ ังก​ ล่าว
บรรทัดท​ ี่ 4-7 	 ต รวจส​ อบว​ ่าไ​ฟล์ห​ รือไ​ดเรกท​ อ​ รีข​ อง​ ออ​ บเ​จ็กต์ f1 มีอ​ ยู่จ​ ริงห​ รือไ​ม่ ถ้าไ​ฟล์น​ ั้นม​ ีอ​ ยู่จ​ ริงจ​ ะท​ ำ�​

             คำ�​สั่ง​ใน​บล็อค if ต่อ โดย​แสดงข​ ้อความว​ ่า “File already exists” (คำ�​สั่ง​บรรทัด​ที่ 5) คือ
             ไฟลน์​ ีม้​ อี​ ยูแ่​ ล้ว และห​ ยุดก​ ารท​ ำ�งานโ​ดยอ​ อกจ​ ากโ​ปรแกรมท​ ันที ด้วยค​ ำ�​สั่ง System.exit(0);
             (คำ�​สั่ง​บรรทัดท​ ี่ 6) หากไ​ฟล์​ที่​ต้องการ​สร้างน​ ั้นย​ ัง​ไม่มี​อยู่ จะ​ทำ�งานท​ ี่ค​ ำ�​สั่งบ​ รรทัดท​ ี่ 8
บรรทัดท​ ี่ 8 	 ส ร้างอ​ อบ​เจ็กต์​ของพ​ รินต์ไ​รต์เ​ทอร์ โดยน​ ำ�​ข้อมูล​เกี่ยว​กับช​ ื่อ​ไฟล์​และ​ตำ�แหน่งท​ ี่​เก็บ​มาจ​ าก​
             อ​อบเ​จ็กต์ f1 ซึ่ง​จะท​ ำ�ให้​เกิดเ​ป็น​ไฟล์ใ​หม่ข​ ึ้นม​ า ชื่อ “scores.txt” และป​ ระกาศต​ ัวแปร​แบบ​
             อ้างอิง ชื่อ output เพื่อ​ใช้​สำ�หรับ​อ้างอิง​ไป​ยังอ​ อบ​เจ็กต์​ของพ​ รินต์​ไรต์เ​ทอร์​ดัง​กล่าว
บรรทัด​ที่ 9 	 ใช้เ​มธอด print() เพื่อเ​ขียน​ข้อมูล​ลงใ​นไ​ฟล์ด​ ้วยค​ ่า “Nikom ” ซึ่ง​หลัง​จาก​เขียน​เสร็จแ​ ล้ว​
             เคอร์เซอร์ย​ ังค​ งอ​ ยู่​ที่บ​ รรทัดเ​ดิม
บรรทัด​ที่ 10 	 ใ ช้​เมธอด println() เพื่อ​เขียน​ข้อมูล​ลง​ใน​ไฟล์​ด้วย​ค่า “90” ซึ่ง​หลัง​จาก​เขียน​เสร็จ​แล้ว​
             เคอร์เซอร์จ​ ะเ​ลื่อนไ​ปอ​ ยู่บ​ รรทัดถ​ ัดไ​ป ทำ�ให้ก​ ารเ​ขียนข​ ้อมูลค​ รั้งต​ ่อไ​ปจ​ ะเ​ขียนท​ ี่บ​ รรทัดใ​หม่
บรรทัดท​ ี่ 11 	 ประกาศต​ ัวแปร i เป็นช​ นิด int และ​ให้​เก็บ​ค่า 200
   40   41   42   43   44   45   46   47   48   49   50