24/05/2018, 14:14

Giới thiệu về hệ thống nhập xuất của C#

0 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 ...

0

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ì C# đều trừu tượng hoá thành các luồng(Streams), đ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:

Nhiều người nhầm lẫn về sự khác nhau giữa tập tin và luồng. Một luồng đơn giản là luồng của thông tin, chứa thông tin sẽ được chuyển qua, còn tập tin thì để lưu trữ thông tin.

Một luồng được sử dụng để gởi và nhận thông tin từ bộ nhớ, từ mạng, web, từ một chuỗi,...Một luồng còn được sử dụng để đi vào và ra với một tập tin dữ liệu.

Thứ tự của việc đọc một tập tin

Khi đọc hay viết một tập tin, cần thiết phải theo một trình tự xác định. Đầu tiên là phải thực hiện công việc mở tập tin. Nếu như tạo mới tập tin, thì việc mở tập tin cùng lúc với việc tạo ra tập tin đó. Khi một tập tin đã mở, cần thiết phải tạo cho nó một luồng để đặt thông tin vào trong một tập tin hay là lấy thông tin ra từ tập tin. Khi tạo một luồng, cần thiết phải chỉ ra thông tin trực tiếp sẽ được đi qua luồng. Sau khi tạo một luồng gắn với một tập tin, thì lúc này chúng ta có thể thực hiện việc đọc ghi các dữ liệu trên tập tin. Khi thực hiện việc đọc thông tin từ một tập tin, chúng ta cần thiết phải kiểm tra xem con trỏ tập tin đã chỉ tới cuối tập tin chưa, tức là chúng ta đã đọc đến cuối tập tin hay chưa. Khi hoàn thành việc đọc ghi thông tin trên tập tin thì tập tin cần phải được đóng lại.

Tóm lại các bước cơ bản để làm việc với một tậo tin là:

≅ Bước 1: Mở hay tạo mới tập tin

≅ Bước 2: Thiết lập một luồng ghi hay đọc từ tập tin

≅ Bước 3: Đọc hay ghi dữ liệu lên tập tin

≅ Bước 4: Đóng lập tin lại

0