ホームページ > バックエンド開発 > C++ > .NET で他のプロセスが使用するファイルにアクセスするにはどうすればよいですか?

.NET で他のプロセスが使用するファイルにアクセスするにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-16 15:33:16
オリジナル
122 人が閲覧しました

How Can I Access Files Used by Other Processes in .NET?

.NET 内の他のアプリケーションによって現在使用されているファイルへのアクセス

.NET 開発者は、他のプロセスによってすでに開かれているファイルにアクセスしようとすると、「アクセスが拒否されました」エラーに頻繁に遭遇します。これは、ファイルがデータ転送または分析にとって重要な場合に特に問題になります。

一般的な解決策には、ファイル共有機能を利用することが含まれます。 .NET System.IO.FileShare 列挙は、ファイル共有を管理するためのさまざまなオプションを提供します。 FileShare.ReadWrite を使用すると、読み取りアクセスと書き込みアクセスの両方が許可され、複数のプロセスが同時にファイルを操作できるようになります。

これが例です:

<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>
ログイン後にコピー

このメソッドは非排他的なファイル ロックを作成し、複数のプログラムがファイルに同時にアクセスできるようにします。 重要なことは、ファイル処理の完了後に効率的なリソース管理を確保するために、StreamReader オブジェクトと FileStream オブジェクトの両方を忘れずに閉じることです。

以上が.NET で他のプロセスが使用するファイルにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート