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 }