首頁 > 後端開發 > C++ > 如何在 VB.NET 和 C# 中存取被其他進程鎖定的檔案?

如何在 VB.NET 和 C# 中存取被其他進程鎖定的檔案?

Mary-Kate Olsen
發布: 2025-01-16 15:42:09
原創
431 人瀏覽過

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

用於存取其他進程鎖定的檔案的 VB.NET 和 C# 解決方案

訪問多個進程同時使用的檔案通常會導致可怕的「使用中」異常。 本指南提供了在 VB.NET 和 C# 中讀取和修改檔案的可靠方法,即使這些檔案被其他應用程式鎖定也是如此。

在 VB.NET 和 C# 中使用 FileShare

一個簡單的解決方案涉及開啟檔案流時的 FileShare 參數。 設定 FileShare.ReadWrite 表示應用程式願意共享檔案存取權限。

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>
登入後複製

C# 範例:

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

替代方法:使用FileStream

FileStream 類別提供對檔案存取的更細粒度的控制。 這個例子示範了它的用法:

<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>
登入後複製

此程式碼使用 FileStream 開啟文件,指定 FileMode.OpenFileAccess.ReadFileShare.ReadWriteStreamReader 然後有效地讀取文件的內容。

來源歸屬

FileStream法改編自:https://www.php.cn/link/c7876d6b0f9d5461fd3e87c0d1e51e12

以上是如何在 VB.NET 和 C# 中存取被其他進程鎖定的檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板