Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 52 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
52
Dung lượng
1,24 MB
Nội dung
BỘ MÔN CÔNG NGHỆ PHẦN MỀM ViỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Bài 11 Input Output Vũ Thị Hương Giang Content I Input Output II Thao tác với file III Input Output với Scanner printf I Input Output cѫ bҧn Tổng quan Mơ hình I/O Tổng quan – I/O I/O = Input/Output Ở đưa liệu vào từ chương trình Input từ bàn ph Output thiết Ưu điểm file I/O ŁSao lưu máy ŁOutput từ chương trình chương trình khác ŁCác giá trị input đư giá trị) Tổng quan – Luồng Các mơ hình I/O luồng (stream) đại Luồng: Là đối tượng đưa hình, file ) lấy l ŁLuồng hoạt động Luồng- Input vào stream: Luồng trình đưa Luồng - Output rastream: Luồng chương trình nhận ŁSystem.in input stream ŁSystem.out output stream Luồng kết nối chương đệ liệ li trình v ŁSystem.out kết nối chương trình với ŁSystem.in kết nối chương trình với Tổng quan - Gói java.io Gói Java java.io chứa lớp java.lang.Object InputStream OutputStream FileInputStream FileOutputStream Reader InputStreamReader Writer BufferedReader FileReader IOException OutputStreamWriter FileWriter File PrintWriter I Input Output cѫ bҧn Tổng quan Mơ hình I/O Mơ hình I/O import java.io.*; Open stream Use stream (read, write, ) hai Close stream Mở luồng Sửdụng có dữli ệ u bên ngồi chươ ng trình mà cần lấy, c bên ngồi chương trình Khi mở luồng, chúng bên ngồi Khi kết nối tạo, tâm đến vị trí bên ngồi 10 Ví dụ FileReader sử dụng để kết sử dụng : cho input FileReader fileReader = new FileReader(fileName); fileName xác định vị trí Chúng ta khơng cần fileNamephải Thay vào fileReader ta sử dụng Ví dụ FileOutputStream file1.txt: Nwi h iefralgo e t oet h i ftercuty n a hi u ae file2.txt: Now is the time for all good men to come to the aid of their country and pay their due taxes file3.txt: nd pay their due taxes II Thao tác với file File text file nhị Lớp File File text Luồng file nhị phân Luồng đối tượng - Serialization 40 File object stream Ta đối đọc tượng vào fileghi Quá trình - gọi l serialization Quá trình khăn đối tượng có đối tượng khác Java dễ dàng 41 Điều kiện cho trình Để đối tượng có t ŁLớp phải khai b ŁThực thiSerializable giao diện ŁPhải có phương thức ŁTất thành phần c tự hóa được: Hoặc ki đối tượng Serializable 42 Thực thi giao diện Serializable Thông thường để thực thi với việc phải viết tất c báo giao diện Tu Serializable khơng định nghĩa b ŁLý do: Java sử Serializable dụng giao flag để xử lý với lớp 43 Ghi đối tượng vào file FileOutputStream fos = new FileOutputStream("t.tmp"); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeInt(12345); oos.writeObject("Today"); oos.writeObject(new Date()); oos.close(); 44 Đọc đối tượng từ file FileInputStream fis = new FileInputStream("t.tmp"); ObjectInputStream ois = new ObjectInputStream(fis); int i = ois.readInt(); String today = (String) ois.readObject(); Date date = (Date) ois.readObject(); ois.close() Content I Input Output cơbả n II Thao tác với file III.Input Output với Scanner printf Các luồng có sẵn Java Tất chương trình java.lang Gói java.lang định nghĩa gói nhiều thành phần việc Lớp System chứa biến s Łin , out, err (System.in, System.out, System.err) Nhưng biến lớp System publicđược static khai Các luồng có sẵn Java System.out sử dụng cho luồng đưa liệu mặc định System.in sử dụng luồng bàn phím (bàn phím) System.err sử dụng luồng mặc định console (màn Những luồng đ kỳ thiết bị I/O phù hợp Các luồng có sẵn Java System.in đối InputStream tượng ki (byte stream) System.out đối PrintStream tượng ki (byte stream) System.err đối PrintStream tượng ki (byte stream) Chúng character luồng byte, java.util.Scanner Đọc Đầu input tiên, Scanner cần t ŁĐọc từ (System.in) bàn phím Scanner scanner = new Scanner(System.in); ŁĐọc từ : file File myFile = new File("myFileName.txt"); Scanner scanner = new Scanner(myFile); Ngoại FileNotFound lệ ŁĐọc : tung String Scanner scanner = new Scanner(myString); Hữu ích cần parse Sử dụng Scanner Đầu tiên, chúng để đọc ta Łscanner.hasNext() boolean ŁKhơng cần phải dùng Có phải thể đọc dịng Łscanner.nextLine() String Có thể đọc «khối» ŁMột khối Łscanner.next () String chuỗi k nextLine next trả String, c convert số ki Bên cạnh có nhữn kiểu nguyên thủy Sử dụng Scanner Các phương thức trả k nguyên thủy Łboolean b = sc.nextBoolean(); Các phương thứ Łbyte by Łshort sh Łint i Łlong l Łfloat f Łdouble d = sc.nextByte(); = sc.nextShort(); = sc.nextInt(); = sc.nextLong(); = sc.nextFloat(); = sc.nextDouble(); ŁhasNextBoolean() ŁhasNextByte() ŁhasNextShort() ŁhasNextInt() ŁhasNextLong() ŁhasNextFloat() ŁhasNextDouble() Định dạng output Java có phương printf tương thức tự C Các định dạng % với sử dụng ký s cho string, d cho integer, f chofloating số point Ví : dụ Łdouble pi = Math.PI; System.out.printf("%8s %-8s %6d %-6d %8f %-8.2f :)\n", "abc", "def", 123, 456, pi, pi); System.out.printf("%8s %-8s %6d %-6d", "abcdef", "ghijkl", 12345, 6789); ŁOutput: abc def abcdef ghijkl 123 456 12345 6789 3.141593 3.14 :) ... Luồng đối tượng - Serialization 40 File object stream Ta đối đọc tượng vào fileghi Quá trình - gọi l serialization Quá trình khăn đối tượng có đối tượng khác Java dễ dàng 41 Điều kiện cho trình. .. hợp Các luồng có sẵn Java System.in đối InputStream tượng ki (byte stream) System.out đối PrintStream tượng ki (byte stream) System.err đối PrintStream tượng ki (byte stream) Chúng character... file File text file nhị Lớp File File text Luồng file nhị phân Luồng đối - Serialization tượng 21 Lớp File Một tượng đối Filetượng thể đường dẫn trừu ŁBao gồm đường dẫn t ŁPhương thức khởi tạo