Bài giảng Tin học đại cương 2: Chương 4.1 - Nguyễn Thị Mỹ Truyền
lượt xem 5
download
Chương 4.1 trang bị cho người học những kiến thức về nhập xuất trong java. Nội dung chính trong chương gồm: Định dạng nhập/xuất, khái niệm luồng, các luồng byte, các luồng ký tự, file truy cập ngẫu nhiên, luồng nhập/xuất đối tượng,... Mời các bạn cùng tham khảo để nắm bắt nội dung chi tiết.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Tin học đại cương 2: Chương 4.1 - Nguyễn Thị Mỹ Truyền
- Chương 4.1 Nhập xuất
- Chương 4.1: Nhập xuất o Định dạng nhập/xuất o Khái niệm luồng o Các luồng byte o Các luồng ký tự o File truy cập ngẫu nhiên o Luồng nhập/xuất đối tượng. o Nhập/xuất với Scanner. o Nhập/xuất với JOptionPane
- Định dạng nhập xuất o Sử dụng hàm printf() và println() để định dạng kiểu dữ liệu ở console. Mã định Mô tả dạng Kết quả định dạng như một số nguyên thập %d phân %f Kết quả định dạng như là một số thực Kết quả định dạng như là một số Octal (Cơ số %o 8) Kết quả định dạng như là một số thập phân %e trong kiểu số khoa học %n Kết quả được hiển thị trong một dòng mới
- Định dạng nhập xuất o Ví dụ: Thực hiện đoạn chương trình sau: public static void main(String[] args){ float i = 8; float j = 3; System.out.println(“Ket qua cua i/j la: “ + i/j); System.out.printf(“Ket qua cua i/j la %.2f”, i/j); } o Kết quả:
- Luồng (Stream) o Luồng là một “dòng chảy” của dữ liệu được gắn với các thiết bị vào ra. o Hai loại luồng: § Luồng nhập: Gắn với các thiết bị nhập như bàn phím, máy scan, file... § Luồng xuất: Gắn với các thiết bị xuất như màn hình, máy in, file,…
- Các luồng cơ bản o Byte streams § Hỗ trợ việc xuất nhập dữ liệu trên byte, thường được dùng khi đọc ghi dữ liệu nhị phân. § InputStream: Luồng nhập byte cơ bản § OutputStream: Luồng xuất byte cơ bản o Character streams § Cho các ký tự Unicode § Reader: Luồng nhập ký tự cơ bản § Writer: Luồng xuất ký tự cơ bản
- Các luồng cơ bản o Các lớp luồng nằm trong gói java.io Lớp trừu tượng trên cùng Lớp trừu tượng trên cùng java.io.InputStream java.io.OutputStream Dòng nhập byte vật lý Dòng xuất byte vật lý Xử lý từng byte một Xử lý từng byte một Biến / Đối tượng Dòng nhập ký tự Dòng xuất ký tự Xử lý theo đơn vị 2 byte Xử lý theo đơn vị 2 byte Lớp trừu tượng trên cùng Lớp trừu tượng trên cùng java.io.Reader java.io.Writer
- Luồng byte o input stream: sử dụng để đọc dữ liệu. o output stream: sử dụng để ghi dữ liệu.
- Cây thừa kế InputStream
- Các phương thức của InputStream int available( ) Trả về số luợng bytes có thể đọc được từ luồng nhập void close( ) Đóng luồng nhập và giải phóng tài nguyên hệ thống gắn với luồng. Không thành công sẽ ném ra một lỗi IOException void mark(int numBytes) Đánh dấu ở vị trí hiện tại trong luồng nhập boolean markSupported( ) Kiểm tra xem luồng nhập có hỗ trợ phương thức mark() và reset() không. int read( ) Đọc byte tiếp theo từ luồng nhập int read(byte buffer[ ]) Đọc buffer.length bytes và lưu vào trong vùng nhớ buffer. Kết quả trả về số bytes thật sự đọc được int read(byte buffer[ ], int Đọc numBytes bytes bắt đầu từ địa chỉ offset và lưu vào offset, int numBytes) trong vùng nhớ buffer. Kết quả trả về số bytes thật sự đọc được void reset( ) Nhảy con trỏ đến vị trí được xác định bởi việc gọi hàm mark() lần sau cùng. long skip(long numBytes) Nhảy qua numBytes dữ liệu từ luồng nhập
- Cây thừa kế OutputStream
- Các phương thức của OutputStream void close( ) Đóng luồng xuất và giải phóng tài nguyên hệ thống gắn với luồng. Không thành công sẽ ném ra một lỗi IOException void flush( ) Ép dữ liệu từ bộ đệm phải ghi ngay xuống luồng (nếu có) void write(int b) Ghi byte dữ liệu chỉ định xuống luồng void write(byte buffer[ ]) Ghi buffer.length bytes dữ liệu từ mảng chỉ định xuống luồng void write(byte buffer[ ], int offset, int numBytes) Ghi numBytes bytes dữ liệu từ vị trí offset của mảng chỉ định buffer xuống luồng
- Đọc dữ liệu từ file o Mở một file để đọc dữ liệu FileInputStream(String fileName) throws FileNotFoundException Nếu file không tồn tại: thì ném ra FileNotFoundException o Đọc dữ liệu: dùng phương thức read() int read( ) throws IOException: đọc từng byte từ file và trả về giá trị của byte đọc được. Trả về 1 khi hết file, và ném ra IOException khi có lỗi đọc. o Đóng file: dùng phương thức close() void close( ) throws IOException: sau khi làm việc xong cần đóng file để giải phóng tài nguyên hệ thống đã cấ13 p phát cho
- Ghi dữ liệu từ file o Mở một file để ghi dữ liệu FileOutputStream(String fileName) throws FileNotFoundException Nếu file không tạo được: thì ném ra FileNotFoundException o Ghi dữ liệu xuống: dùng phương thức write() void write(int byteval) throws IOException: ghi một byte xác định bởi tham số byteval xuống file, và ném ra IOException khi có lỗi ghi. o Đóng file: dùng phương thức close() void close( ) throws IOException: sau khi làm việc xong cần đóng file để giải phóng tài nguyên hệ thống đã cấp phát cho file.
- Sử dụng FileInputStream & FileOutputStream //Ví dụ chép dữ liệu từ file doc.txt sang ghi.txt import java.io.*; public class DocFile1 { public static void main(String[] args) throws IOException { FileInputStream in = null; FileOutputStream out = null; try { in = new FileInputStream(“d:/doc.txt"); out = new FileOutputStream(“d:/ghi.txt"); int c; while ((c = in.read()) != 1) { out.write(c); } }finally { if (in != null) { in.close(); } if (out != null) { out.close(); } } } }
- Ví dụ import java.io.*; public class ReadFile { public static void main(String[] args){ try { FileInputStream f = new FileInputStream("readme.txt"); int ch; while ( (ch = f.read()) != 1 ) { System.out.print((char)ch); } f.close(); } catch (FileNotFoundException d) {
- Ví dụ import java.io.*; public class WriteFile { public static void main(String[] args) { byte buffer[] = new byte[80]; try { System.out.println("Enter a string to write to file: "); int num = System.in.read(buffer); FileOutputStream f = new FileOutputStream("line.txt"); f.write(buffer, 0, num);
- Luồng ký tự (Character Stream) o Java platform lưu trữ những giá trị ký tự theo dạng Unicode o Tất cả các lớp character stream được kế thừa từ Reader và Writer o Có các lớp character stream: § FileReader § FileWriter
- Đọc ghi dữ liệu nhị phân • Để đọc và ghi những giá trị nhị phân của các kiểu dữ liệu trong java, chúng ta sử dụng: – DataInputStream – DataOutputStream. 19
- Đọc ghi dữ liệu nhị phân void writeBoolean(boolean val) Ghi xuống luồng một giá trị boolean được xác định bởi val. void writeByte (int val) Ghi xuống luồng một byte được xác định bởi val. void writeChar (int val) Ghi xuống luồng một Char được xác định bởi val. void writeDouble(double val) Ghi xuống luồng một giá trị Double được xác định bởi val. void writeFloat (float val) Ghi xuống luồng một giá trị float được xác định bởi val. void writeInt (int val) Ghi xuống luồng một giá trị int được xác định bởi val. void writeLong (long val) Ghi xuống luồng một giá trị long được xác định bởi val. void writeShort (int val) Ghi xuống luồng một giá trị short được xác định bởi val. Contructor: DataOutputStream(OutputStream outputStream) OutputStream: là luồng xuất dữ liệu. Để ghi dữ liệu ra file thì đối tượng outputStream có thể là FileOutputStream. 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng tin học đại cương - trường ĐH Tôn Đức Thắng
175 p | 1024 | 287
-
Bài giảng Tin học đại cương - Chương 1: Các vấn đề cơ bản về CNTT
167 p | 419 | 31
-
Bài giảng Tin học đại cương: Bài 1 - ĐH Bách khoa Hà Nội
33 p | 263 | 21
-
Bài giảng Tin học đại cương: Bài 4 - ĐH Bách khoa Hà Nội
8 p | 155 | 13
-
Bài giảng Tin học đại cương: Chương 2 - Tin học và công nghệ thông tin
12 p | 183 | 10
-
Bài giảng Tin học đại cương: Bài 3 - ĐH Bách khoa Hà Nội
14 p | 143 | 8
-
Bài giảng Tin học đại cương - Nguyễn Vũ Duy
95 p | 43 | 8
-
Bài giảng Tin học đại cương: Phần 1 - ThS. Phạm Thanh Bình
18 p | 93 | 6
-
Bài giảng Tin học đại cương: Chương 1 - Đại cương về tin học
16 p | 124 | 5
-
Bài giảng Tin học đại cương: Chương 1 - Thông tin
29 p | 150 | 5
-
Bài giảng Tin học đại cương: MS Excel - ThS. Ngô Cao Định
31 p | 11 | 4
-
Bài giảng Tin học đại cương: Tổng quan về máy tính - ThS. Ngô Cao Định
38 p | 13 | 4
-
Bài giảng Tin học đại cương: Biểu diễn và xử lý thông tin - ThS. Ngô Cao Định
56 p | 7 | 3
-
Bài giảng Tin học đại cương: Mạng và Internet - ThS. Ngô Cao Định
55 p | 9 | 3
-
Bài giảng Tin học đại cương: Hệ điều hành - ThS. Ngô Cao Định
86 p | 8 | 2
-
Bài giảng Tin học đại cương: Chương 1 - Trần Quang Hải Bằng (ĐH giao thông Vận tải)
31 p | 80 | 2
-
Bài giảng Tin học đại cương: Bài 13 - Bùi Thị Thu Cúc
10 p | 78 | 2
-
Bài giảng Tin học đại cương: Tổng quan về cơ sở dữ liệu - ThS. Ngô Cao Định
11 p | 7 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn