Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengakses Fail yang Digunakan oleh Proses Lain dalam .NET?
Mengakses Fail Sedang Digunakan oleh Aplikasi Lain dalam .NET
Pembangun .NET kerap menghadapi ralat "akses ditolak" apabila cuba mengakses fail yang telah dibuka oleh proses lain. Ini amat menyusahkan apabila fail adalah penting untuk pemindahan data atau analisis.
Penyelesaian biasa melibatkan penggunaan keupayaan perkongsian fail. Penghitungan .NET
System.IO.FileShare
menawarkan pelbagai pilihan untuk menguruskan perkongsian fail. Menggunakan FileShare.ReadWrite
membolehkan akses baca dan tulis, membolehkan berbilang proses berinteraksi dengan fail secara serentak.
Ini contohnya:
<code class="language-csharp">using System; using System.IO; class Program { static void Main() { try { // Utilize FileShare.ReadWrite for concurrent access FileStream logFileStream = new FileStream("c:\test.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite); StreamReader logFileReader = new StreamReader(logFileStream); // Process file content line by line string line; while ((line = logFileReader.ReadLine()) != null) { // Your processing logic here } logFileReader.Close(); logFileStream.Close(); } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } } }</code>
Kaedah ini mencipta kunci fail bukan eksklusif, membenarkan berbilang atur cara mengakses fail secara serentak. Yang penting, ingat untuk menutup kedua-dua objek StreamReader
dan FileStream
untuk memastikan pengurusan sumber yang cekap selepas pemprosesan fail selesai.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Fail yang Digunakan oleh Proses Lain dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!