File I/O (1) โปรแกรมจะอ่านหรือเขียนข้อมูลผ่านท่อส่งข้อมูล (Stream)

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
สถาปัตยกรรมเทียร์ TIER ARCHITECTURE.
Advertisements

โครงสร้างโปรแกรมภาษา JAVA
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
The InetAddress Class.
การจัดการความผิดพลาด
BC322 ครั้งที่ 6 Text file BC322 : computer Programming (Week6)
6. โครงสร้างข้อมูลแบบแฟ้ม
File.
การเขียนโปรแกรมภาษาจาวาตอนที่ ๓
Lecture no. 10 Files System
Network programming Asst. Prof. Dr. Choopan Rattanapoka
LOGO Array. ประเภทของ Array - อาเรย์ 1 มิติ (One) - อาเรย์ 2 มิติ (Two) - อาเรย์ 3 มิติ (Three) 2.
WEEK#16: Method เมธอดคือกลุ่มคําสั่งที่ถูกกําหนดขึ้นเพื่อทำงาน อย่างใดอย่างหนึ่งเพื่อให้ได้ผลลัพธ์ตาม ต้องการ การประกาศเมธอด มีรูปแบบดังนี้ [modifier]
บทที่ 3 Class and Object (1) การสร้างและการใช้งานคลาส
คลาสและวัตถุ (2) (Class & Object)
 เป็นเมธอดที่มีคุณลักษณะของ Polymorphism รูปแบบหนึ่ง โดยใช้ชื่อเมธอดเดียวกัน มากกว่า 1 เมธอด เพื่อทำงานในแบบเดียวกัน  คลาสลูกสามารถเขียนทับ เมธอดของคลาสแม่ได้
บทที่ 1 หลักการเขียนโปรแกรมเชิงวัตถุ
คลาสและวัตถุ (3) (Class & Object)
 เป็นเมธอดที่มีคุณลักษณะของ Polymorphism รูปแบบหนึ่ง โดยใช้ชื่อเมธอดเดียวกัน มากกว่า 1 เมธอด เพื่อทำงานในแบบเดียวกัน  คลาสลูกสามารถเขียนทับ เมธอดของคลาสแม่ได้
คลาสและวัตถุ (2) (Class & Object)
File Stream File Stream หมายถึง ท่อส่งข้อมูลไฟล์จากต้นทางไปยังปลายทาง
คลาสและวัตถุ (3) (Class & Object). w5_000.rar การใช้งานเมธอดภายในคลาสเดียวกัน ข้อ 24, 25 as5_000.rar การใช้งานเมธอดภายในคลาสเดียวกัน ข้อ 23 2.
บทที่ 4 Method (1).
หน่วยที่ 17 แอเรย์ของสตรัคเจอร์. แอเรย์ของข้อมูลสตรัคเจอร์ student_info student[30]; Student[0]Student[0].Name Student[0].Midterm Student[0].Assignment.
อาร์เรย์ (Array).
String Class มหาวิทยาลัยเนชั่น การโปรแกรมเชิงวัตถุด้วยภาษา JAVA
อาร์เรย์ หรือแถวลำดับ (Array)
input from keyboard มหาวิทยาลัยเนชั่น การโปรแกรมเชิงวัตถุด้วยภาษา JAVA
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 15 มิถุนายน 2550 Structure Programming มหาวิทยาลัยเนชั่น.
Algorithm มหาวิทยาลัยเนชั่น Java Pre-Test 49 (Series 1, 2 )
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 6 มิถุนายน 2556 Exception มหาวิทยาลัยเนชั่น
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 3 มิถุนายน 2550 Method of Class มหาวิทยาลัยเนชั่น.
Page: 1 โครงสร้างคอมพิวเตอร์ และภาษาแอสเซมบลี้ ผศ. บุรินทร์ รุจจน พันธุ์.. ปรับปรุง 19 ตุลาคม 2555 Introduction to Batch.
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 7 มิถุนายน 2556 Text File Processing มหาวิทยาลัยเนชั่น.
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 22 มิถุนายน 2550 ความผิดพลาดที่พบ บ่อย มหาวิทยาลัยเนชั่น.
บทที่ 6 เมธอด.
ทำงานกับ File และStream
JAVA PROGRAMMING PART IV.
การติดต่อกับฐานข้อมูล(MySQL)
โครงสร้างควบคุมการทำงาน
ครั้งที่ 3.
คำสั่งควบคุมการ ทำงาน การเขียนโปรแกรมโดยปกติ มีทั้งให้ทำงาน เป็นลำดับ ที่ละคำสั่ง บางครั้งมีการให้เปลี่ยน ลำดับในการทำคำสั่ง เพื่อให้การเขียน โปรแกรมมีประสิทธิภาพสูงสุด.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
Java Programming Language สาขาวิชาระบบสารสนเทศ คณะบริหารธุรกิจ มหาวิทยาลัยเทคโนโลยีราชมงคลกรุงเทพ.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
URLs URL class  ใช้รับข้อมูลจากระบบเครือข่าย  ไม่จำเป็นต้องสนใจรายละเอียดภายใน  ต้อง import java.net.URL  ถ้าเกิดข้อผิดพลาดจะ thows.
Thread Thread ส่วนของ process ที่ให้ CPU ประมวลผล.
ความสัมพันธ์ระหว่างคลาส (Class Relationship)
The ServerSocket Class ใช้ในการจัดทำเครื่องที่เป็นการบริการ ใช้ในการจัดทำเครื่องที่เป็นการบริการ โดยจะมี ช่วงชีวิตดังนี้ โดยจะมี ช่วงชีวิตดังนี้
การเขียนโปรแกรม JAVA ขั้นพื้นฐาน
Nattapong Songneam BankAccount – Example Nattapong Songneam
Advanced Class Design in Java Java Packages Week #6 Jarungjit Parnjai
Object-Oriented Programming with Java Burapha University, 2001 Java Exceptions Week #9 Jarungjit Parnjai.
Lecture 7 Java Exceptions. Errors  Compile-time Errors  เกิดขึ้นระหว่าง compile ตรวจสอบได้ด้วย Compiler  เช่น ผิดหลักไวยากรณ์  Run-time Error  เกิดขึ้นระหว่างประมวลผล.
บทที่ 3 Class and Object (2).
บทที่ 2 การแสดงผลและรับข้อมูล
บทที่ 4 คำสั่งควบคุมแบบมีทางเลือก
บทที่ 5 คำสั่งควบคุม แบบวนซ้ำ รายวิชา ง การเขียนโปรแกรมเชิง วัตถุ Reading: ใบความรู้ บทที่ 5.
การแสดงผลและการรับข้อมูล (Data Output and Input)
Java Network Programming 1
TECH30201 Object-Oriented Programming
Inheritance และ Encapsulation.  การสร้างหรือพัฒนาคลาสใหม่จากคลาสเดิมที่ มีอยู่แล้ว  คลาสใหม่จะนำแอตทริบิวต์และเมธอดของ คลาสเดิมมาใช้  เป็นการถ่ายทอดคุณสมบัติจากคลาสหนึ่งสู่อีก.
การจัดการกับความผิดปกติ
Variable, Data type, Expression, Operators Data input, Data output
บทที่ 6 ตัวแปรชุดและ สตริง รายวิชา ง การเขียนโปรแกรมเชิง วัตถุ Reading: ใบความรู้ บทที่ 6.
การเขียนโปรแกรมบนมาตรฐานเปิด โครงสร้างโปรแกรม public class HelloWorld { public static void main(String[] args) { System.out.println(“Hello World”);
WEEK5-2: 14 SEP 2017 Input / Output Selection Statement
Chapter 5 การจัดการข้อผิดพลาด (Exception Handling)
File.
Object-Oriented Programming Paradigm
ใบสำเนางานนำเสนอ:

File I/O (1) โปรแกรมจะอ่านหรือเขียนข้อมูลผ่านท่อส่งข้อมูล (Stream) จากต้นทาง (source) ไปยังปลายทาง (sink) สามารถรับส่งข้อมูลแบบ Byte Stream และ Character Stream

File I/O (2) การรับส่งข้อมูลแบบ Byte Stream => อ่านและเขียนไฟล์ ครั้งละ 1 ไบต์ (8 บิต) ใช้สำหรับข้อมูลประเภทตัวเลข การรับส่งข้อมูลแบบ Character Stream => อ่านและเขียนไฟล์ ครั้งละ 2 ไบต์ (16 บิต) ใช้สำหรับข้อมูลประเภทตัวอักขระ คลาส Byte Stream => FileInputStream, FileOutputStream คลาส Character Stream => FileReader, FileWriter

File I/O (3) Buffer Stream เป็นที่พักในหน่วยความจำสำหรับการรับส่งข้อมูลผ่าน buffer ช่วยให้โปรแกรมทำงานเร็วขึ้น คลาส Byte Stream => BufferedInputStream, BufferedOutputStream คลาส Character Stream => BufferedReader, BufferedWriter

File I/O (4) เนื่องจากข้อมูลที่เขียนเป็นทั้งประเภทตัวอักขระและตัวเลข จึงเลือกใช้การเขียนและอ่านไฟล์แบบ Character Stream การอ่านไฟล์จึงใช้คลาส FileReader คู่กับ BufferedReader (P.246) File filename = "c:\\CharBuffData.txt"; FileReader f_read = null; BufferedReader b_read = null; try { f_read = new FileReader(filename); b_read = new BufferedReader(f_read); String c; while ((c = b_read.readLine()) != null) System.out.print(c); } catch (IOException e) { System.out.println(e);

File I/O (5) ส่วนการเขียนไฟล์จะใช้คลาส FileWriter คู่กับ BufferedWriter และใช้ร่วมกับคลาส PrintWriter มีเมธอด print(), println() (P.251) File filename = "c:\\WriteBuffData.txt"; FileWriter f_write = null; BufferedWriter b_write = null; PrintWriter p_write = null; int id=1; String name = “JAVA”; float rating = 4.5f; try { f_write = new FileWriter(filename); b_write = new BufferedWriter(f_write); p_write = new PrintWriter(b_write); pwrite.println(id+name+rating); } catch (IOException e) { System.out.println(e);

ตัวอย่างโปรแกรม 14.6 (P.251-252) import java.io.*; import java.util.Scanner; public class CharWriteTest { public static void main(String[] args) { int id; String name, score; File ofile = new File("c:\\CharScore.txt"); FileWriter f_write = null; BufferedWriter b_write = null; PrintWriter p_write = null;

ตัวอย่างโปรแกรม 14.6 (P.251-252) try { f_write = new FileWriter(ofile); b_write = new BufferedWriter(f_write); p_write = new PrintWriter(b_write); System.out.println("Read from KB"); System.out.println("==========================="); do { System.out.print("id = "); id = new Scanner(System.in).nextInt(); if (id != -1) { System.out.print("name = "); name = new Scanner(System.in).nextLine(); System.out.print("score = "); score = new Scanner(System.in).nextLine(); p_write.println(id+"\t"+name+"\t"+score); } } while (id != -1);

ตัวอย่างโปรแกรม 14.6 (P.251-252) catch (IOException e) { System.out.println(e); } finally { if (p_write != null) { p_write.close(); } System.out.println("Data are saved to File : \n" + ofile); System.out.println("==========================="); } // main } // class

ตัวอย่างโปรแกรม 14.7 (P.253-254) import java.io.*; class std { int id; String name; double score; } public class CharReadTest { public static void main(String[] args) { File ifile = new File("c:\\CharScore.txt"); FileReader f_read = null; BufferedReader b_read = null; std[] Sd = new std[20]; double sum=0; int c=0; String line;

ตัวอย่างโปรแกรม 14.7 (P.253-254) try { f_read = new FileReader(ifile); b_read = new BufferedReader(f_read); System.out.println("Read Data from File : \n" + ifile); System.out.println("==========================="); while ((line = b_read.readLine()) != null) { Sd[c] = new std(); String msg[] = line.split("\t",3); Sd[c].id = Integer.parseInt(msg[0]); Sd[c].name = msg[1]; Sd[c].score = Double.parseDouble(msg[2]); sum = sum+x[c].s; c++; }

ตัวอย่างโปรแกรม 14.7 (P.253-254) catch (IOException e) { System.out.println(e); } finally { try { if (b_read != null) b_read.close(); double avg =sum/c; for (int i=0;i<c;i++) { System.out.printf("%-3d%-10s%-6.2f\n",x[i].i,x[i].n,x[i].s); } System.out.println("==========================="); System.out.printf("mean = %.2f\n",avg); } catch (IOException e) { } //finally } //main } //class