Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengakses Fail yang Dikunci oleh Proses Lain dalam VB.NET dan C#?

Bagaimanakah Saya Boleh Mengakses Fail yang Dikunci oleh Proses Lain dalam VB.NET dan C#?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-16 15:42:09439semak imbas

How Can I Access Files Locked by Other Processes in VB.NET and C#?

VB.NET dan Penyelesaian C# untuk Mengakses Fail yang Dikunci oleh Proses Lain

Mengakses fail secara serentak yang digunakan oleh berbilang proses selalunya menghasilkan pengecualian "sedang digunakan" yang digeruni. Panduan ini menyediakan kaedah yang boleh dipercayai untuk membaca dan mengubah suai fail dalam VB.NET dan C# walaupun ia dikunci oleh aplikasi lain.

Menggunakan FileShare dalam VB.NET dan C#

Penyelesaian mudah melibatkan parameter FileShare apabila membuka strim fail. Tetapan FileShare.ReadWrite menandakan kesediaan aplikasi untuk berkongsi akses fail.

Contoh VB.NET:

<code class="language-vb.net">Dim strContents As String
Dim objReader As StreamReader
objReader = New StreamReader(FullPath, FileShare.ReadWrite)
strContents = objReader.ReadToEnd()
objReader.Close()</code>

Contoh C#:

<code class="language-csharp">using (var objReader = new StreamReader(FullPath, FileShare.ReadWrite))
{
    var strContents = objReader.ReadToEnd();
}</code>

Pendekatan Alternatif: Menggunakan FileStream

Kelas FileStream menawarkan kawalan yang lebih halus ke atas akses fail. Contoh ini menunjukkan penggunaannya:

<code class="language-csharp">using (var logFileStream = new FileStream("c:\test.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (var logFileReader = new StreamReader(logFileStream))
{
    while (!logFileReader.EndOfStream)
    {
        string line = logFileReader.ReadLine();
        // Process each line
    }
}</code>

Kod ini membuka fail menggunakan FileStream, menyatakan FileMode.Open, FileAccess.Read dan FileShare.ReadWrite. A StreamReader kemudian membaca kandungan fail dengan cekap.

Atribusi Sumber

Pendekatan FileStream diadaptasi daripada: https://www.php.cn/link/c7876d6b0f9d5461fd3e87c0d1e51e12

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Fail yang Dikunci oleh Proses Lain dalam VB.NET dan 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