ท ำงำนกับไฟล์ ( file i/o · 2017-02-21 · ใช้เมธอด read()...

31
ทำงำนกับไฟล์ (File I/O)

Upload: others

Post on 05-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

ท ำงำนกับไฟล์ (File I/O)

Page 2: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

ไฟล์ (File) คือ ข้อมูลต่ำงๆ ที่ถูกจัดเก็บและบันทึกไว้ในหน่วยควำมจ ำของคอมพิวเตอร์ มีหลำกหลำยประเภท เช่น ไฟล์ข้อมูลเอกสำร ไฟล์รูป เป็นต้น

โปรแกรมจะอ่ำนหรือเขียนข้อมูลเหล่ำนั้นโดยมีสะพำนส่งผ่ำนข้อมูลอยู่ระหว่ำงกลำง ใช้ส่งขอ้มูลจำกต้นทำง (source) ไปยังปลำยทำง (sink) และเมื่อมีกำรอ่ำนหรือเขยีนข้อมูลผ่ำนสะพำนนี้ จะเรียกว่ำ Stream และจะถูกน ำไปใช้ในกำรกระบวนกำรของโปรแกรมนั่นเอง

2

Page 3: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

File Stream หมำยถึง ท่อส่งข้อมูลไฟล์จำกต้นทำงไปยังปลำยทำง ประกอบด้วยคลำส FileInputStream / FileOutputStream ส ำหรับ กำรอ่ำนและเขยีนข้อมูล โดยเมธอดของคลำสจะอยู่ในแพค็เกจ java.io มีคลำสส ำหรับกำรสร้ำงออบเจ็กต์ Stream 4 คลำส ได้แก่

InputStream ใช้ในกำรรับชนิดข้อมูลแบบ byte หรือ numeric type OutputStream ใช้ในกำรส่งชนิดข้อมูลแบบ byte หรือ numeric type Reader ใช้ในกำรรับชนิดข้อมูลแบบ character type หรือ String Writer ใช้ในกำรส่งชนิดข้อมูลแบบ character type หรือ String

3

Page 4: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

เป็นกำรเขียนและอ่ำนไฟลค์รั้งละ 1 ไบต์ (8 บิต) ใช้ส ำหรับรับส่งขอ้มูลประเภท Byte หรือข้อมูลประเภทตัวเลข (Numeric) จะต้องท ำผ่ำนคลำส FileOutputStream และ FileInputStream ซึ่งอยู่ในแพ็คแกจ java.io.OutputStream และ java.io.InputStream

ตำมล ำดับ ข้อมูลถูกจัดเก็บเป็นไบต์ (Binary File) และไม่สำมำรถจะอ่ำนเข้ำใจได้

4

Page 5: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

จะใช้งำนคลำส File ร่วมกับคลำส FileOutputStream ในกำรเขียนข้อมูลลงไฟล์ โดยใช้เมธอด write() ของคลำส FileOutputStream มีรูปแบบดังนี้ File filename = new File(“path”); FileOutputStream fOutput = new FileOutputStream(filename, append); fOutput.write(data); หรือ FileOutputStream fOutput = new FileOutputStream(path, append); fOutput.write(data); โดยที่ path เป็นชื่อและต ำแหน่งที่อยู่ของไฟล์ filename เป็นออบเจ็กต์ที่สร้ำงจำกคลำส File fOutput เป็นออบเจ็กต์ที่สร้ำงจำกคลำส FileOutputStream append มีค่ำเป็น true เมื่อต้องกำรเขียนข้อมูลต่อท้ำยข้อมูลในไฟล์เดิม data เป็นข้อมูลที่ต้องกำรเขียนลงไฟล์

5

Page 6: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

จะใช้งำนคลำส File ร่วมกับคลำส FileInputStream ในกำรอ่ำนข้อมูลจำกไฟล์ ใช้เมธอด read() ของคลำส FileInputStream และจะคืนค่ำเป็นเลขจ ำนวนเต็ม -1

เมื่ออ่ำนข้อมูลถึงไบต์สุดท้ำยของไฟล์ มีรูปแบบ ดังนี้ File filename = new File(“path”); FileInputStream fInput = new FileInputStream (filename); data = fInput.read(); หรือ FileInputStream fOutput = new FileInputStream (path); data = fOutput.read(); โดยที่ path เป็นชื่อและต ำแหน่งที่อยู่ของไฟล์ filename เป็นออบเจ็กต์ที่สร้ำงจำกคลำส File fInput เป็นออบเจ็กต์ที่สร้ำงจำกคลำส FileInputStream data เป็นข้อมูลที่อ่ำนได้จำกไฟล์

6

Page 7: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

7

ByteTest

Page 8: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

เป็นกำรอ่ำนและเขียนไฟลค์รั้งละ 2 ไบต์ (16 บิต) ใช้ส ำหรับรับส่งขอ้มูลประเภทตัวอักขระ (Character) จัดกำรโดยใช้คลำส FileReader และ FileWriter ซึ่งอยู่ในแพ็คแกจ

java.io.Reader และ java.io.Writer ตำมล ำดับ ข้อมูลในไฟล์จะถูกจัดเก็บเป็นกลุ่มตัวอักขระ (Text File) ซึ่งสำมำรถอ่ำน

เข้ำใจได ้

8

Page 9: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

จะใช้งำนคลำส File ร่วมกับคลำส FileWriter ในกำรเขียนข้อมูลลงไฟล์ ใช้เมธอด write() ของคลำส FileWriter มีรูปแบบ ดังนี้

File filename = new File(“path”); FileWriter fOutput = new FileWriter(filename, append); fOutput.write(data); หรือ FileWriter fOutput = new FileWriter(path, append); fOutput.write(data); โดยที่ path เป็นชื่อและต ำแหน่งที่อยู่ของไฟล์ filename เป็นออบเจ็กต์ที่สร้ำงจำกคลำส File fOutput เป็นออบเจ็กต์ที่สร้ำงจำกคลำส FileWriter append มีค่ำเป็น true เมื่อต้องกำรเขียนข้อมูลต่อท้ำยข้อมูลในไฟล์เดิม data เป็นข้อมูลที่ต้องกำรเขียนลงไฟล์

9

Page 10: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

จะใช้งำนคลำส File ร่วมกับคลำส FileReader ในกำรอ่ำนข้อมูลจำกไฟล์ ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ ำนวนเต็ม -1 เมื่อ

สิ้นสุดกำรอ่ำนข้อมูลจำกไฟล์ มีรูปแบบ ดังนี้ File filename = new File(“path”); FileReader fInput = new FileReader (filename); data = fInput.read(); หรือ FileReader fOutput = new FileReader (path); data = fOutput.read(); โดยที่ path เป็นชื่อและต ำแหน่งที่อยู่ของไฟล์ filename เป็นออบเจ็กต์ที่สร้ำงจำกคลำส File fInput เป็นออบเจ็กต์ที่สร้ำงจำกคลำส FileReader data เป็นข้อมูลที่อ่ำนได้จำกไฟล์ 10

Page 11: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

CharTest

11

ผลที่ได้จำกกำรใช้เมธอด print() จะเป็นค่ำตัวเลขรหัสแอสกี้ของตัวอักขระ และสำมำรถใช้เมธอด write() แสดงผลข้อมูลเป็นตัวอักขระได้

Page 12: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

Buffer Stream เป็นที่พักในหน่วยควำมจ ำในกำรรับส่งข้อมูลผ่ำน buffer ซึ่งเป็นกำรน ำข้อมูลที่ต้อง กำรอ่ำนหรือเขียนลงไฟล์ไปเก็บไว้ในหน่วยควำมจ ำก่อน เพื่อช่วยเพิ่มประสิทธิภำพให้โปรแกรมมำกขึ้น ท ำงำนเร็วขึ้น

คลำส Buffer ของ Byte Stream คือคลำส BufferedInputStream และ BufferedOutputStream ส่วนคลำส Buffer ของ Character Stream คือคลำส BufferedReader และ BufferedWriter

กำรใช้งำนคลำส buffer จะต้องสร้ำงออบเจ็กต์เพื่อเชื่อมต่อออบเจ็กต์ของคลำส FileInputStream กับ FileOutputStream หรือ FileReader กับ FileWriter

12

Page 13: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

มีรูปแบบกำรใช้งำนคลำส BufferedOutputStream ส ำหรับเขียนข้อมูลแบบ Byte Stream ดังนี ้

File filename = new File(Path); FileOutputStream f_out = new FileOutputStream(filename); BufferedOutputStream b_out = new BufferedOutputStream(f_out); b_out.write(data); โดยที่ path เป็นชื่อและต ำแหน่งที่อยู่ของไฟล์ filename เป็นออบเจ็กต์ที่สร้ำงจำกคลำส File f_out เป็นออบเจ็กต์ที่สร้ำงจำกคลำส FileOutputStream b_out เป็นออบเจ็กต์ที่สร้ำงจำกคลำส BufferedOutputStream data เป็นข้อมูลที่ต้องกำรเขียนลงไฟล์

13

Page 14: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

มีรูปแบบกำรใช้งำนคลำส BufferedInputStream ส ำหรับอ่ำนข้อมูลแบบ Byte Stream ดังนี ้File filename = new File(Path); FileInputStream f_in = new FileInputStream(filename); BufferedInputStream b_in = new BufferedInputStream(f_in); data = b_in.read(); โดยที่ path เป็นชื่อและต ำแหน่งที่อยู่ของไฟล์ filename เป็นออบเจ็กต์ที่สร้ำงจำกคลำส File f_in เป็นออบเจ็กต์ที่สร้ำงจำกคลำส FileOutputStream b_in เป็นออบเจ็กต์ที่สร้ำงจำกคลำส BufferedOutputStream data เป็นข้อมูลที่อ่ำนได้จำกไฟล์

14

Page 15: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

ByteBuffTest

15

Page 16: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

มีรูปแบบกำรใช้งำนคลำส BufferedWriter ส ำหรับเขียนข้อมูลแบบ Chacracter Stream ดังนี ้File filename = new File(Path); FileWriter f_write = new FileWriter(filename); BufferedWriter b_write = new BufferedWriter(f_write); b_write.write(data); โดยที่ path เป็นชื่อและต ำแหน่งที่อยู่ของไฟล์ filename เป็นออบเจ็กต์ที่สร้ำงจำกคลำส File f_write เป็นออบเจ็กต์ที่สร้ำงจำกคลำส FileWriter b_write เป็นออบเจ็กต์ที่สร้ำงจำกคลำส BufferedWriter data เป็นข้อมูลที่ต้องกำรเขียนลงไฟล์

16

Page 17: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

มีรูปแบบกำรใช้งำนคลำส BufferedReader ส ำหรับอ่ำนข้อมูลแบบ Chacracter Stream มีดังนี ้ File filename = new File(Path); FileReader f_ read= new FileReader(filename); BufferedReader b_read = new BufferedReader(f_read); data = b_read.readLine(); โดยที่ path เป็นชื่อและต ำแหน่งที่อยู่ของไฟล์ filename เป็นออบเจ็กต์ที่สร้ำงจำกคลำส File f_read เป็นออบเจ็กต์ที่สร้ำงจำกคลำส FileReader b_read เป็นออบเจ็กต์ที่สร้ำงจำกคลำส BufferedReader data เป็นข้อมูลที่อ่ำนได้จำกไฟล์

17

Page 18: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

CharBuffTest

18

Page 19: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

CharSkipTest

19

Page 20: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

ใช้เมธอด print() และ println() ซึ่งมีกำรโอเวอร์โหลดให้รับค่ำข้อมูลที่เป็นชนิดพื้นฐำนได้ทั้งหมด มีรูปแบบกำรใช้งำนคลำส PrintWriter ดังนี ้

File filename = new File(path); FileWriter f_write = new FileWriter(filename); BufferedWriter b_write = new BufferedWriter(f_write); PrintWriter p_write = new PrintWriter(b_write); p_write.printIn(data); โดยที่ path เป็นชื่อและต ำแหน่งที่อยู่ของไฟล์ filename เป็นออบเจ็กต์ที่สร้ำงจำกคลำส File f_write เป็นออบเจ็กต์ที่สร้ำงจำกคลำส FileWriter b_write เป็นออบเจ็กต์ที่สร้ำงจำกคลำส BufferedWriter p_write เป็นออบเจ็กต์ที่สร้ำงจำกคลำส PrintWriter data เป็นข้อมูลที่ต้องกำรเขียนลงไฟล์

20

Page 21: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

กำรจัดเก็บข้อมูลที่ประกอบด้วยชนิดข้อมูลแตกต่ำงกัน ควรใช้กำรอ่ำนและเขียนข้อมูลลงไฟล์ประเภท Binary File แต่ถ้ำต้องกำรท ำด้วย Character Stream ก็สำมำรถท ำได้โดยกำรคั่นข้อมูลแต่ละชนิดที่จะเขียนลงไฟล์ด้วย “\t”

CharWriteTest เขียนข้อมูลลงไฟล์ CharScore.txt

21

Page 22: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

CharReadTest

22

Page 23: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

มีรูปแบบกำรใช้งำนคลำส DataOutputStream ดังนี้ File filename = new File(path); FileOutputStream f_out = new FileOutputStream(filename); BufferedOutputStream b_out = new BufferedOutputStream(f_out); DataOutputStream d_out = new DataOutputStream(b_out); d_out.methodName(data); โดยที่ path เป็นชื่อและต ำแหน่งที่อยู่ของไฟล์ filename เป็นออบเจ็กต์ที่สร้ำงจำกคลำส File f_out เป็นออบเจ็กต์ที่สร้ำงจำกคลำส FileOutputStream b_out เป็นออบเจ็กต์ที่สร้ำงจำกคลำส BufferedOutputStream d_out เป็นออบเจ็กต์ที่สร้ำงจำกคลำส DataOutputStream methodName เป็นชื่อเมธอดที่ต้องกำรใช้งำน data เป็นข้อมูลที่ต้องกำรเขียนลงไฟล์

23

Page 24: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

File filename = new File(Path); FileInputStream f_in = new FileInputStream(filename); BufferedInputStream b_in = new BufferedInputStream(f_in); DataInputStream d_in = new DataInputStream(b_in); data = d_in.methodName(); โดยที่ path เป็นชื่อและต ำแหน่งที่อยู่ของไฟล์ filename เป็นออบเจ็กต์ที่สร้ำงจำกคลำส File f_in เป็นออบเจ็กต์ที่สร้ำงจำกคลำส FileInputStream b_in เป็นออบเจ็กต์ที่สร้ำงจำกคลำส BufferedInputStream d_in เป็นออบเจ็กต์ที่สร้ำงจำกคลำส DataInputStream methodName เป็นชื่อเมธอดที่ต้องกำรใช้งำน data เป็นข้อมูลที่อ่ำนได้จำกไฟล์

24

Page 25: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

25

ชื่อเมธอด ค ำอธิบำย readBoolean() อ่ำนค่ำข้อมูลชนิด boolean readByte() อ่ำนค่ำข้อมูลชนิด byte readUnsignedByte() อ่ำนค่ำข้อมูลชนิด byte แบบ unsigned (ไม่มีค่ำติดลบ) readInt() อ่ำนค่ำข้อมูลชนิด int readShort() อ่ำนค่ำข้อมูลชนิด short readUnsignedShort() อ่ำนค่ำข้อมูลชนิด short แบบ unsigned (ไม่มีค่ำติดลบ) readLong() อ่ำนค่ำข้อมูลชนิด long readFloat() อ่ำนค่ำข้อมูลชนิด float readDouble() อ่ำนค่ำข้อมูลชนิด double readChar() อ่ำนค่ำข้อมูลชนิด char

readUTF() อ่ำนค่ำข้อมูลชนิด String จำกไฟล์ในรูปของตัวอักษรทีละตัวเรียงต่อกัน(โดยถอดรหัสในรูปของ UTF)

Page 26: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

26

ชื่อเมธอด ค ำอธิบำย writeBoolean(boolean) เขียนข้อมูลชนิด boolean (1 byte) ลงในไฟล์ writeByte(int) เขียนข้อมูลชนิด byte (1 byte ของ int ที่ส่งมำ) ลงในไฟล์ writeInt(int) เขียนข้อมูลชนิด int (4 byte) ลงในไฟล์ writeShort(int) เขียนข้อมูลชนิด short (ข้อมูล 2 byte ) ลงในไฟล์ writeLong(long) เขียนข้อมูลชนิด long (ข้อมูล 8 byte) ลงในไฟล์

writeFloat(float) เขียนข้อมูลชนิด float ลงในไฟล์ โดย float ที่ส่งมำจะถูกแปลงไปเป็น int ด้วยเมธอด floatToIntBits ของคลำส Float

writeDouble(double) เขียนข้อมูลชนิด double ลงในไฟล์ โดย double ที่ส่งมำจะถูกแปลงไปเป็น long ด้วยเมธอด doubleToLongBits ของคลำส Double

writeChar(int) เขียนข้อมูลชนิด int (หมำยถึงเขียนข้อมูลชนิด 2-byte) ลงในไฟล์ writeChars(String) เขียนข้อมูลชนิด String ลงในไฟล์ ในรูปของตัวอักษรทีละตัวเรียงต่อกัน writeUTF(String) เขียนข้อมูลชนิด String ลงในไฟล์ ในรูปของตัวอักษรทีละตัวเรียงต่อกัน

Page 27: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

ByteDataOutputTest

27

Page 28: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

ByteDataInputTest

28

เมื่อเปรียบเทียบกับกำรจัดกำรข้อมูลแบบ Character Stream ด้วยคลำส PrintWriter และ FileReader พบว่ำ • กำรใช้งำนคลำส PrintWriter และ FileReader จะมีขั้นตอนที่ยุ่งยำกกว่ำ เนื่องจำกเป็นกำรเขียนเขียนข้อมูลลงไฟล์ทีละบรรทัด และในกรณีที่มีข้อมูลมำกกว่ำ 1 ค่ำ จะต้องใช้เครื่องหมำย “\t” คั่นระหว่ำงข้อมูล เมื่ออ่ำนข้อมูลก็จะต้องแยกข้อมูลด้วยเครื่องหมำย “\t” เช่นกันจึงเป็นกำรจัดกำรที่ยุ่งยำก • กำรจัดกำรข้อมูลแบบ Character Stream จึงเหมำะกับข้อมูลที่เป็นข้อควำม ส่วนกำรจัดกำรแบบ Byte Stream เหมำะกับข้อมูลชนิดพื้นฐำนที่แตกต่ำงกัน

Page 29: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

File อยู่ในแพ็คแกจ java.io จะประกอบด้วยเมธอดที่ช่วยในกำรท ำงำนกับ file หรือ directory เช่น absolute path, last modify หรือ ขนำดของไฟล์ เป็นต้น มีรูปแบบกำรใช้งำนคลำส File ดังนี ้

File filename = new File(Path); โดยที่ path เป็นชื่อและต ำแหน่งที่อยู่ของไฟล์ filename เป็นออบเจ็กต์ที่สร้ำงจำกคลำส File

29

Page 30: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

30

ชื่อเมธอด ค ำอธิบำย canRead() ตรวจสอบคุณสมบัติของไฟล์ว่ำสำมำรถถูกน ำไปเปิดอ่ำนได้หรือไม ่canWrite() ตรวจสอบคุณสมบัติของไฟล์ว่ำสำมำรถถูกน ำไปเปิดเขียนได้หรือไม ่delete() ลบไฟล์ โดยคืนค่ำเป็นจริงเมื่อไฟล์นัน้มีอยู่จริงและสำมำรถลบได้ส ำเร็จ exist() ตรวจสอบว่ำไฟล์ดังกล่ำวมีอยู่หรือไม่ getName() ให้ค่ำเป็นช่ือไฟล ์getParent() ให้ค่ำเป็นพำธหรือไดเร็คทอรีของไดเร็คทอรีที่เก็บไฟล ์getPath() ให้ค่ำเป็นพำธหรือไดเร็คทอรีของไฟล ์isDirectory() ตรวจสอบออบเจ็กต์ว่ำเป็นไดเร็คทอรีหรือไม ่isFile() ตรวจสอบออบเจ็กต์ว่ำเป็นไฟล์หรือไม ่length( ) ให้ค่ำเป็นขนำดของไฟล์ ซึ่งมีหน่วยเป็นไบต ์mkdir ใช้สร้ำงไดเร็คทอรี พร้อมกับคืนค่ำเป็นจริงเมื่อสำมำรถสร้ำงได้ส ำเร็จ renameTo( ) ใช้เมื่อต้องกำรจะย้ำยไฟล์ หรือเปลี่ยนช่ือไฟล์ ในกรณีที่เรำระบุที่เก็บของไฟล์

ใหม่จะหมำยถึงเป็นกำรย้ำยไฟล์ แต่ในกรณีที่ไม่ระบุที่เก็บไฟล์ใหม่จะเป็นกำรเปลี่ยนช่ือไฟล์

Page 31: ท ำงำนกับไฟล์ ( File I/O · 2017-02-21 · ใช้เมธอด read() ของคลำส FileReader และจะคืนค่ำเป็นเลขจ

FileMethod

31