> 백엔드 개발 > C++ > VB.NET 및 C#에서 다른 프로세스에 의해 잠긴 파일에 어떻게 액세스할 수 있습니까?

VB.NET 및 C#에서 다른 프로세스에 의해 잠긴 파일에 어떻게 액세스할 수 있습니까?

Mary-Kate Olsen
풀어 주다: 2025-01-16 15:42:09
원래의
429명이 탐색했습니다.

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.Read을 지정하여 FileShare.ReadWrite을 사용하여 파일을 엽니다. 그런 다음 StreamReader은 파일 내용을 효율적으로 읽습니다.

소스 속성

FileStream 접근 방식은 https://www.php.cn/link/c7876d6b0f9d5461fd3e87c0d1e51e12

에서 채택되었습니다.

위 내용은 VB.NET 및 C#에서 다른 프로세스에 의해 잠긴 파일에 어떻게 액세스할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿