Làm việc với tập tin dữ liệu trong csharp

c-sharp

(Phạm Quyết Nghị) #1

Phần trước chúng ta đã thực hiện công việc như lấy thông tin của tập tin và sao chép tập tin sang một tập tin mới. Việc thực hiện quan trọng của tập tin là đọc và viết những thông tin từ tập tin. Trong phần này chúng ta sẽ tìm hiểu về luồng nhập xuất và cách tạo mới một tập tin để ghi hay mở một tập tin đã tồn tại để đọc thông tin.

Luồng nhập xuất

Thuật ngữ tập tin thì nói chung là liên quan đến những thông tin lưu trữ bên trong ỗ đĩa hoặc trong bộ nhớ. Khi làm việc với tập tin, chúng ta bao hàm với việc sử dụng một luồng.

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

Các phương thức cho việc tạo và mở tập tin

Có nhiều kiểu luồng khác nhau. Chúng ta sẽ sử dụng những luồng khác nhau và những phương thức khác nhau phụ thuộc vào kiểu dữ liệu bên trong của tập tin. Trong phần này, việc đọc/ghi sẽ được thực hiện trên tập tin văn bản. Trong phần kế tiếp chúng ta học cách đọc và viết thông tin trên tập tin nhị phân. Thông tin nhị phân bao hàm khả năng mạnh lưu trữ giá trị số và bất cứ kiểu dữ liệu nào khác.

Để mở một tập tin trên đĩa cho việc đọc và viết tập tin văn bản, chúng ta cần phải sử dụng cả hai lớp File và FileInfo. Một vài phương thức có thể sử dụng trong những lớp này. Các phương thức này bao gồm:

AppendText
Mở một tập tin để và tập tin này có thể được thêm văn bản vào trong nó. Tạo luồng StreamWriter sử dụng để thêm vào trong văn bản.

Create
Tạo mới một tập tin

CreateText
Tạo và mở một tập tin văn bản. Tạo ra một luồng StreamWriter.

Open
Mở một tập tin để đọc/viết. Mở một FileStream

OpenRead
Mở một tập tin để đọc

OpenText
Mở một tập tin văn bản để đọc. Tạo ra StreamReader để sử dụng.

OpenWrite
Mở một tập tin cho việc đọc và ghi.

Làm thế nào để chúng ta có thể biết được khi nào sử dụng lớp File chính xác hơn là sử dụng lớp FileInfo nếu chúng cùng chứa những phương thức tương tự với nhau. Thật ra hai lớp này có nhiều sự khác biệt. Lớp File chứa tất cả các phương thức tĩnh, thêm vào đó lớp File tự động kiểm tra permission trên một tập tin. Trong khi đó nếu muốn dùng lớp FileInfo thì phải tạo thể hiện của lớp này. Nếu muốn mở một tập tin chỉ một lần thì tốt nhất là sử dụng lớp File, còn nếu chúng ta tổ chức việc sử dụng tập tin nhiều lần bên trong chương trình, tốt nhất là ta dùng lớp FileInfo. Hoặc nếu không chắc chắn cách sử dụng thì chúng ta có thể sử dụng lớp FileInfo.


Tài liệu c# tiếng việt cho người mới bắt đầu (newbie)

89% Thành viên có cách giải cho một câu hỏi. Bạn thì sao?