Lập trình Java cơ bản - Chương 5: Nhập xuất

Nhập xuất trong Java được phân loại

• Theo thứtựtruy xuất

Truy xuất ngẫu nhiên –Random Access Files: cho phép

đọc ghi tại bất kỳvịtrínào

Truy xuất tuần tự: đọc ghi theo thứtự

• Theo đặc điểm dữliệu

Nhập xuất nhịphân (Nhập xuất byte)

Nhập xuất ký tự

pdf19 trang | Chuyên mục: Java | Chia sẻ: dkS00TYs | Lượt xem: 3738 | Lượt tải: 4download
Tóm tắt nội dung Lập trình Java cơ bản - Chương 5: Nhập xuất, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
LẬP TRÌNH JAVA
Chương 5
NHẬP XUẤT
GV: Võ Hoàng Phương Dung
 Giới thiệu
 File
 Random Access File
 I/O stream
2/25
Nội dung
 Nhập xuất trong Java được phân loại
• Theo thứ tự truy xuất
 Truy xuất ngẫu nhiên – Random Access Files: cho phép 
đọc ghi tại bất kỳ vị trí nào
 Truy xuất tuần tự: đọc ghi theo thứ tự
• Theo đặc điểm dữ liệu
 Nhập xuất nhị phân (Nhập xuất byte)
 Nhập xuất ký tự
3/25
Giới thiệu 
 Các lớp nhập xuất trong Java
• Thuộc gói java.io.*
• Được tổ chức theo cấu trúc kế thừa
 Cấp thấp: đọc ghi trực tiếp trên thiết bị
 Cấp cao: đọc ghi thông qua bộ đệm
4/25
Giới thiệu 
 java.io.File
• Dùng để biểu diễn tên file hoặc thư mục
 Hàm khởi tạo
• File(String pathname);
• File(String parent, String child);
• File(File parent, String child);
 Ví dụ:
File file = new File("c:/aFolder/aFile.txt");
5/25
File
 boolean exists(): kiểm tra có tồn tại tên file 
hay thư mục
 String getAbsolutePath(): lấy đường dẫn tuyệt 
đối
 String getName(): trả về tên file hay thư mục
 String getParent(): trả về tên thư mục cha
 boolean isDirectory(): kiểm tra thư mục
 boolean isFile(): kiểm tra file
 String[] list(): liệt kê file & thư mục con
6/25
File
 boolean canRead(): kiểm tra file có thể đọc
 boolean canWrite():kiểm tra file có thể ghi
 boolean canExecute():kiểm tra file có thể thực 
thi
 boolean delete(): xoá file hoặc thư mục
 long length(): trả lại chiều dài của đường dẫn
 boolean mkdir(): tạo thư mục
 boolean renameTo(File newname): đổi tên file 
hoặc thư mục
7/25
File
 Cho phép ta truy nhập trực tiếp vào các tệp, có
thể đọc, ghi các byte ở bất kỳ vị trí nào trong 
tệp.
 Hàm khởi tạo
• RandomAccessFile(String name, String 
mode) throws IOException
• RandomAccessFile(File file, String mode) 
throws IOException
Tham số mode:
-“r”: Dùng để đọc.
-“rw”: Dùng để ghi.
8/25
Random Access Files
 Các phương thức
• long getFilePointer() throws IOException : Trả
về vị trí của con trỏ tệp.
• long length() throws IOException: cho biết số 
byte hay độ dài của tệp.
• void seek(long offset) throws IOException: 
Chuyển con trỏ tệp đi offset vị trí kể từ đầu tệp.
• void close() throws IOException: Khi không cần 
truy nhập tệp nữa thì đóng lại.
9/25
Random Access Files
 Stream là 1 dãy dữ liệu
 Input stream cho việc đọc dữ liệu
 Output stream cho việc ghi dữ liệu
10/25
I/O Stream
11/25
I/O Stream
 Phân loại
• Luồng byte (Byte streams)
 Đọc ghi dữ liệu theo đơn vị byte
 Tất cả các lớp thừa kế từ: InputStream & OutputStream
• Luồng ký tự (Character streams)
 Đọc ghi dữ liệu theo đơn vị ký tự
 Tất cả các lớp thừa kế từ: Reader & Writer
12/25
I/O Stream
 Ví dụ về luồng Byte
import java.io.FileInputStream; 
import java.io.FileOutputStream; 
import java.io.IOException; 
public class CopyBytes { 
public static void main(String[] args) throws IOException { 
FileInputStream in = null; 
FileOutputStream out = null; 
try { 
in = new FileInputStream(“input.txt"); 
out = new FileOutputStream(“byteOutput.txt"); 
int c; 
while ((c = in.read()) != -1) {out.write(c); } 
} 
finally { 
if (in != null) { in.close(); } 
if (out != null) { out.close(); } 
} 
} 
13/25
I/O Stream
14/25
I/O Stream
 Ví dụ về luồng ký tự
import java.io.FileReader; 
import java.io.FileWriter; 
import java.io.IOException;
public class CopyCharacters { 
public static void main(String[] args) throws IOException { 
FileReader in = null; 
FileWriter out = null; 
try {
in = new FileReader(“input.txt"); 
out = new FileWriter(“characterOutput.txt");
int c;
while ((c = in.read()) != -1){ out.write(c); } 
} 
finally {
if (in != null) { in.close(); }
if (out != null){ out.close(); }
} } }
15/25
I/O Stream
 Các lớp cơ bản của luồng Byte 
16/25
I/O Stream
Tên lớp Ý nghĩa
FileInputStream Luồng nhập cho phép đọc dữ liệu từ File
FileOutputStream Luồng xuất cho phép ghi dữ liệu xuống File
ByteArrayInputStream Luồng nhập dữ liệu từ 1 mảng byte
ByteArrayOutputStream Luồng xuất dữ liệu ra 1 mảng byte
ObjectInputStream Luồng nhập các Object
ObjectOutputStream Luồng xuất các Object
BufferedInputStream Luồng nhập có đệm
BufferedOutputStream Luồng xuất có đệm
DataInputStream Luồng nhập dữ liệu là các kiểu dữ liệu chuẩn
DataOutputStream Luồng xuất dữ liệu là các kiểu dữ liệu chuẩn
 Các lớp cơ bản của luồng ký tự
17/25
I/O Stream
Tên lớp Ý nghĩa
BufferedReader Luồng nhập có đệm
BufferedWriter Luồng xuất có đệm
CharArrayReader Luồng nhập dữ liệu từ 1 mảng ký tự
CharArrayWriter Luồng xuất dữ liệu ra 1 mảng ký tự
InputStreamReader Luồng nhập chuyển luồng byte thành luồng ký tự
OutputStreamWriter Luồng xuất chuyển luồng ký tự thành luồng byte
StringReader Luồng đọc dữ liệu từ chuỗi
StringWriter Luồng xuất dữ liệu ra chuỗi
FileReader Luồng đọc dữ liệu từ File
FileWriter Luồng xuất dữ liệu ra File
LineNumberReader Luồng nhập đếm dòng
PrintWriter Luồng xuất có định dạng
 Nhập dữ liệu từ màn hình Console 
import java.io.*;
class ReadBytes {
public static void main(String args[]) 
throws IOException {
byte data[] = new byte[100];
System.out.print("Enter some 
characters.");
System.in.read(data);
System.out.print("You entered: ");
for(int i=0; i < data.length; i++)
System.out.print((char) data[i]);
}
}
18/25
I/O Stream
import java.io.*;
class ReadBuffer {
public static void main(String args[]) throws 
IOException {
BufferedReader in=new BufferedReader (new 
InputStreamReader(System.in));
System.out.println("NHAP A:");
int a=Integer.parseInt (in.readLine());
System.out.println("NHAP B:");
int b=Integer.parseInt (in.readLine());
int ketqua;
ketqua=a+b;
System.out.println("ket qua bai toan a+b 
la:"+ketqua);
}
}
19/25
I/O Stream

File đính kèm:

  • pdfLập trình Java cơ bản - Chương 5_Nhập xuất.pdf
Tài liệu liên quan