Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Membaca dan Menulis Pada Fail Secara serentak dalam C#?

Bagaimanakah Saya Boleh Membaca dan Menulis Pada Fail Secara serentak dalam C#?

Patricia Arquette
Patricia Arquetteasal
2025-01-06 06:45:41329semak imbas

How Can I Simultaneously Read and Write to a File in C#?

Baca dan Tulis ke Fail Secara serentak dalam C#

Apabila bekerja dengan fail, adalah perkara biasa untuk menghadapi keperluan untuk membaca dan menulis kepada sebuah fail. Walau bagaimanapun, coretan kod berikut cuba melakukan ini tetapi gagal:

static void Main(string[] args)
{
    StreamReader sr = new StreamReader(@"C:\words.txt");
    StreamWriter sw = new StreamWriter(@"C:\words.txt");
}

Kod ini akan gagal kerana ia menggunakan strim berasingan untuk membaca dan menulis, yang tidak dibenarkan untuk fail yang sama tanpa menyatakan strim secara eksplisit untuk kedua-duanya operasi dan mengurus kunci.

Untuk membaca dan menulis pada fail secara serentak, anda perlu menggunakan satu strim yang terbuka untuk membaca dan menulis. Ini boleh dicapai menggunakan kelas FileStream:

FileStream fileStream = new FileStream(
      @"c:\words.txt", FileMode.OpenOrCreate, 
      FileAccess.ReadWrite, FileShare.None);

Parameter FileMode.OpenOrCreate menentukan bahawa fail harus dibuka atau dibuat jika ia tidak wujud.

Parameter FileAccess.ReadWrite menentukan bahawa fail harus dibuka untuk membaca dan menulis.

Parameter FileShare.None menentukan bahawa tiada proses lain harus dibenarkan untuk membaca atau menulis pada fail semasa ia dibuka.

Setelah anda mencipta FileStream, anda boleh menggunakannya untuk membaca dan menulis pada fail menggunakan Read() dan Write () kaedah, masing-masing.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membaca dan Menulis Pada Fail Secara serentak dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn