งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

ทำงานกับ File และStream

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "ทำงานกับ File และStream"— ใบสำเนางานนำเสนอ:

1 ทำงานกับ File และStream
บทที่ 9 ทำงานกับ File และStream

2 รู้จักกับ Stream โปรแกรมของคุณทำการอ่านหรือเขียนข้อมูลจากอุปกรณ์ I/O ภายนอกโดยมีสะพานส่งผ่านข้อมูลอยู่ระหว่างกลาง และเมื่อไหร่ก็ตามที่มีข้อมูลเดินทางผ่านสะพานนี้ Java ก็จะเรียกมันว่า Stream

3 การทำงานแบบ Byte Stream
Byte Stream เป็น Stream ที่ Java ใช้สำหรับการเขียนหรืออ่านข้อมูลแบบเครื่อง (machine-formatted data) โดยทำการสร้างคลาสย่อยขึ้นมาจากคลาส InputStream และ OutputStream แต่เป็นภาษาที่มนุษย์ไม่เข้าใจ ต้องผ่านกระบวนการ InputStream อีกครั้งจึงจะออกมาเป็นข้อความที่มนุษย์เข้าใจได้

4 การทำงานแบบ Character Stream
Character Stream คือการอ่านและเขียนข้อมูลด้วยภาษาที่มนุษย์เข้าใจ โดยสร้างออบเจ็กต์ขึ้นมาจากคลาส 2 คลาสคือ Reader และ Writer โดยผ่านกระบวนการแปลค่าให้อยู่ในรูปจำนวนบิตที่เหมาะสม

5 คลาสสำหรับอ่านเขียนไฟล์
import java.io.*; Object Reader Writer FileReader + BufferedReader InputStreamReader FileReader - FileInputStream OutputStreamReader FileWriter FileOutoutStream FlieWriter + PrintWriter

6 Exception ในภาษาจาวา หากโปรแกรมที่เขียนมีความผิดพลาดเกิดขึ้น จะมีการดักจับข้อผิดพลาดต่างๆด้วย เรียกว่า Exception handling Method บางประเภท หากนำมาใช้งานจะต้องเขียนโปรแกรมสำหรับดักจับข้อผิดพลาดด้วย โดยมากเป็นเมธอดที่เกี่ยวข้องกับ input&output Exception handling ทำได้หลายวิธี เช่นการใช้คำสั่ง throws

7 ทำงานกับไฟล์ด้วย File Stream

8 ทำงานกับไฟล์ด้วย File Stream
รูปแบบการสร้าง InputStream มี 2 รูปแบบดังนี้ หรือ FileReader in = new FileReader( ชื่อไฟล์ ); FileInputStream in = new FileInputStream( ชื่อไฟล์ );

9 การอ่านไฟล์ ตัวอย่าง

10 import java.io.*;

11 ทำงานกับไฟล์ด้วย File Stream
หรือ รูปแบบการเขียน File Stream กรณีเขียนต่อท้ายลงไปที่ไฟล์ที่มีอยู่เดิม File fileObject = new File(“ ชื่อไฟล์และแหล่งที่อยู่ของไฟล์ ”); FileWriter f = new FileWriter( “ ชื่อไฟล์และแหล่งที่อยู่ของไฟล์ ”, false ); File fileObject = new File( “ ชื่อไฟล์และแหล่งที่อยู่ของไฟล์ ” ); FileWriter f = new FileWriter( “ ชื่อไฟล์และแหล่งที่อยู่ของไฟล์ ”, true );

12 การเขียน File Stream ตัวอย่าง

13

14 การอ่านข้อมูลแบบ textflie
สร้างออปเจ็กต์ของคลาสเพื่อเปิดไฟล์ สร้างออปเจ็กต์ของคลาสเพื่ออ่านข้อมูล เมธอด inputFile .readLine(); inputFile.close(); FileReader fReader = new FileReader(“filename.txt”); BufferedReader inputFile = new BufferedReader (fReader);

15

16 การเขียนข้อมูลแบบ textflie
สร้างออปเจ็กต์ของคลาสเพื่อเปิดไฟล์ สร้างออปเจ็กต์ของคลาสเพื่ออ่านข้อมูล เมธอด outputFile .println(String); outputFile .print(String); outputFile.close(); FileWriter fWriter = new FileWriter(“filename.txt”); PrintWriter outputFile = new PrintWriter (fWriter);

17

18 เมธอดต่างๆ เกี่ยวกับไฟล์
เมธอด renameTo( ) ใช้เมื่อต้องการจะย้ายไฟล์ หรือเปลี่ยนชื่อไฟล์ ในกรณีที่เราระบุที่เก็บของไฟล์ชื่อใหม่ปลายทางด้วย นั่นหมายถึงเป็นการย้ายไฟล์ แต่ถ้าไม่ระบุที่เก็บไฟล์ก็เป็นการเปลี่ยนชื่อไฟล์ที่ยังคงวางอยู่ที่เดิม รูปแบบการใช้งานเมธอด renameTo( ) เมธอด delete ใช้ลบไฟล์ โดยจะคืนค่าเป็นจริงเมื่อไฟล์นั้นมีอยู่จริง และสามารถทำการลบได้สำเร็จ ถ้าไม่ฉะนั้นจะคืนค่าที่เป็นเท็จ รูปแบบการใช้งานเมธอด delete( ) ชื่อออบเจ็กต์ของไฟล์เดิม . renameTo(ชื่อออบเจ็กต์ของไฟล์ใหม่ ); ชื่อออบเจ็กต์ของไฟล์เดิม.delete( )

19 การใช้งานเมธอด renameTo( )
import java.io.*; import java.io.File; public class FileRenameTo { public static void main(String[] args) throws IOException { File f1 = new File("d:/textfun.txt"); File f2 = new File("d:/textfunny.txt"); if (f1.renameTo(f2) == true) System.out.println("Rename is success."); else System.out.println("Rename is fail!"); }

20 การใช้งานเมธอด delete( )
import java.io.*; import java.io.File; public class FileDelete { public static void main(String[] args) throws IOException { String strDel = "d:/textfunny.txt"; File fDel = new File(strDel); if (fDel.delete() == true) System.out.println("File " + strDel + " is deleted."); else System.out.println("Delete fail!"); }

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

22 เมธอดต่างๆ เกี่ยวกับไฟล์
เมธอด getAbsolutePath นี้จะใช้เมื่อเราต้องการทราบไดเร็คทอรีที่เก็บไฟล์ รูปแบบการใช้งานเมธอด getAbsolutePath เมธอด exist( ) ตรวจสอบว่าไฟล์ดังกล่าวมีอยู่หรือไม่ รูปแบบการใช้งานเมธอด exist ชื่อออบเจ็กต์ของไฟล์.getAbsolutePath ( ) ; ชื่อออบเจ็กต์ของไฟล์.exists( ) ;

23 เมธอดต่างๆ เกี่ยวกับไฟล์
เมธอด canWrite( ) และเมธอด canRead( ) ทั้งสองเมธอดเป็นการตรวจสอบคุณสมบัติของไฟล์ว่าสามารถถูกนำไปเปิดอ่าน หรือ เขียนได้หรือไม่ รูปแบบการใช้งานเมธอด canWrite รูปแบบการใช้งานเมธอด canRead ชื่อออบเจ็กต์ของไฟล์.canWrite ( ) ; ชื่อออบเจ็กต์ของไฟล์.canRead ( ) ;

24 เมธอดต่างๆ เกี่ยวกับไฟล์
เมธอด isFile( ) เป็นเมธอดที่ใช้ตรวจสอบว่าออบเจ็กต์ที่ต้องการตรวจสอบเป็นไฟล์หรือไม่ รูปแบบการใช้งานเมธอด isFile เมธอด isDirectory( ) เป็นเมธอดที่ใช้ตรวจสอบว่าออบเจ็กต์ที่ต้องการตรวจสอบเป็นไดเร็คทอรีหรือไม่ รูปแบบการใช้งานเมธอด isDirectory ชื่อออบเจ็กต์ของไฟล์.isFile( ); ชื่อออบเจ็กต์ของไฟล์.isDirectory( );

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

26 Assignment#5 จงเขียนโปรแกรมเก็บตัวเลขจำนวนเต็ม 1 ถึง 10 ลงไปในไฟล์
จงเขียนโปรแกรมอ่านไฟล์ในข้อ 1 ขึ้นมาแสดงผล จงเขียนโปรแกรมอ่านไฟล์ที่ได้จากข้อ 1 มาคูณด้วย 2 แล้วแสดงผลทางจอภาพ จงคำนวณค่าของฟังก์ชัน F(x) = x2 + 3x + 8 โดย x เป็นจำนวนเต็มมีค่าตั้งแต่ 1 ถึง 10 แล้วนำค่าที่ได้เก็บลงไฟล์ จงเขียนโปรแกรมอ่านไฟล์ผลลัพธ์จากข้อ 4 มาแสดงผลทางจอภาพ


ดาวน์โหลด ppt ทำงานกับ File และStream

งานนำเสนอที่คล้ายกัน


Ads by Google