tailieunhanh - Đề cương bài giảng Java cơ sở - Chương 5

NHẬP XUẤT Một chương trình thường xuyên làm việc với dữ liệu, để có thể lưu trữ lâu dài chúng ta phải lưu trữ và nhận lại dữ liệu từ thiết bị lưu trữ ngoài, nguồn thông tin ngoài không chỉ gồm dữ liệu được lưu trữ trên đĩa từ, đĩa CD mà nó có thể là dữ liệu của một chương trình khác, hoặc có thể là được lưu trữ trên mạng dù chúng được lưu trữ ở đâu chúng cũng chỉ có 1 số dạng như: . | Chương 5 NHẬP XUẤT Một chương trình thường xuyên làm việc với dữ liệu để có thể lưu trữ lâu dài chúng ta phải lưu trữ và nhận lại dữ liệu từ thiết bị lưu trữ ngoài nguồn thông tin ngoài không chỉ gồm dữ liệu được lưu trữ trên đĩa từ đĩa CD mà nó có thể là dữ liệu của một chương trình khác hoặc có thể là được lưu trữ trên mạng. dù chúng được lưu trữ ở đâu chúng cũng chỉ có 1 số dạng như đối tượng kí tự hình ảnh hoặc âm thanh dù dữ liệu được lưu trữ dưới hình thức nào lưu trữ ở đâu thì java đều trừu tượng hoá thành các luồng điều này là rất tinh vi nó làm cho ta không cần phải quan tâm dữ liệu được lưu trữ ở đâu dưới dạng thức như thế nào nó đồng nhất mọi nguồn dữ liệu với nhau Để nhận về các thông tin một chương trình mở một luồng liên kết với đối tượng nguồn tệp tin bộ nhớ Socket và đọc các thông tin tuần tự. Tương tự để ghi thông tin ra các thiết bị ngoài bằng cách mở một luồng đến đối tượng đích và ghi thông tin ra một cách tuần tự như Luồng là sự trừu tượng hoá ở mức cao do vậy bất kể dữ liệu được đọc vào từ đâu hoặc ghi ra đâu thì thuật toán đọc ghi tuần tự đều tựa như sau Đọc vào open a stream while more information read information close the stream Ghi ra open a stream while more information write information close the stream Lớp luồng Java đưa ra nhiều lớp luồng để xử lý mọi loại dữ liệu java chia luồng ra thanh 2 loại luồng byte byte stream và luồng kí tự character stream lớp InputStream và OutputStream là hai lớp cơ sở cho mọi luồng nhập xuất hướng byte và lớp Reader Writer là hai lớp cơ sở cho việc đọc ghi hướng kí tự. Lớp RandomAccessFile kế thừa từ lớp Object và triển khai giao diện InputStream và OutputStream đây là lớp duy nhất hỗ trợ cả đọc lẫn ghi. Lớp nhập xuất hướng kí tự Reader và Writer là hai lớp cơ sở trừu tượng cho luồng hướng kí tự hai lớp này cung cấp một giao diện chung cho tất cả các lớp đọc ghi hướng kí tự mỗi lần đọc ghi ra luồng là đọc 2 byte tương ứng với một kí tự unicode Sau đay là mô hình phân cấp các lớp đọc ghi hướng kí tự Luồng