intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình Java cơ bản: Chương 5 Nhập xuất - GV. Võ Hoàng Phương Dung

Chia sẻ: Nguyễn Hà | Ngày: | Loại File: PDF | Số trang:19

117
lượt xem
16
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chương 5 Nhập xuất thuộc bài giảng lập trình Java cơ bản, cùng nắm kiến thức trong chương này thông qua việc tìm hiểu các nội dung chính sau: giới thiệu, File, Random Access File, I/O stream.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình Java cơ bản: Chương 5 Nhập xuất - GV. Võ Hoàng Phương Dung

  1. LẬP TRÌNH JAVA Chương 5 NHẬP XUẤT GV: Võ Hoàng Phương Dung
  2. Nội dung  Giới thiệu  File  Random Access File  I/O stream 2/25
  3. Giới thiệu  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
  4. 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
  5. File  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
  6. 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
  7. 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
  8. Random Access Files  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
  9. 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
  10. I/O Stream  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
  11. I/O Stream 11/25
  12. 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
  13. 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 }
  14. I/O Stream 14/25
  15. 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
  16. I/O Stream  Các lớp cơ bản của luồng Byte 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 16/25
  17. I/O Stream  Các lớp cơ bản của luồng ký tự 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 17/25
  18. I/O Stream  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
  19. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0