Computer >> Máy Tính >  >> Lập trình >> C#

Các thao tác với tệp trong C # là gì?

C # có các thao tác tệp sau -

  • Tạo, mở, đọc và ghi tệp.
  • Nối,
  • Xóa, v.v.

Lớp FileStream trong không gian tên System.IO giúp đọc, ghi và đóng tệp. Lớp này bắt nguồn từ Luồng lớp trừu tượng.

Bạn cần tạo một đối tượng FileStream để tạo một tệp mới hoặc mở một tệp hiện có. Cú pháp để tạo một đối tượng FileStream như sau -

FileStream = new FileStream( <file_name>, <FileMode Enumerator>,
<FileAccess Enumerator>, <FileShare Enumerator>);

Tại đây, các thao tác với tệp cũng được bao gồm như hình dưới đây -

FileMode điều tra viên xác định các phương pháp khác nhau để mở tệp. Các thành viên của bảng kê FileMode là -

  • Nối - Nó mở một tệp hiện có và đặt con trỏ ở cuối tệp hoặc tạo tệp, nếu tệp không tồn tại.

  • Tạo - Nó tạo một tệp mới.

  • Tạo mới - Nó chỉ định cho hệ điều hành, rằng nó sẽ tạo một tệp mới.

  • Mở - Nó mở một tệp hiện có.

  • OpenOrCreate - Nó chỉ định cho hệ điều hành rằng nó sẽ mở một tệp nếu nó tồn tại, nếu không nó sẽ tạo một tệp mới.

  • Cắt ngắn - Nó mở một tệp hiện có và cắt bớt kích thước của nó xuống 0 byte.

FileAccess - Các điều tra viên FileAccess có các thành viên -

  • Đọc,
  • ReadWrite và
  • Viết.

FileShare - Điều tra viên FileShare có các thành viên sau -

  • Di truyền - Nó cho phép một trình xử lý tệp truyền thừa kế cho các quy trình con

  • Không có - Nó từ chối chia sẻ tệp hiện tại

  • Đọc - Nó cho phép mở tệp để đọc.

  • ReadWrite - Nó cho phép mở tệp để đọc và ghi

  • Viết - Nó cho phép mở tệp để ghi

Hãy để chúng tôi xem một ví dụ để tạo, mở và đọc nội dung của tệp -

Ví dụ

using System;
using System.IO;

namespace FileIOApplication {
   class Program {
      static void Main(string[] args) {
         FileStream F = new FileStream("test.dat", FileMode.OpenOrCreate,
         FileAccess.ReadWrite);
         for (int i = 1; i <= 20; i++) {
            F.WriteByte((byte)i);
         }
         F.Position = 0;
         for (int i = 0; i <= 20; i++) {
            Console.Write(F.ReadByte() + " ");
         }
         F.Close();
         Console.ReadKey();
      }
   }
}

Đầu ra

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1