C# 如何使用 .Net Framework 关闭一个打开的文件?

问题描述 投票:0回答:1

我需要我的程序能够通过它们的名字来关闭给定的文件。我玩了一圈进程,但我意识到,我不能正确地得到进程本身。

假设我打开了一个 "Text.txt "记事本文件,我想关闭它。我试过

   var processesToKill = Process.GetProcessesByName(processName);

   foreach (var process in processesToKill)
   {
       process.Kill();
   }

但得出的结论是,友好的文件名并没有任何帮助,所以。processesToKill 是空的(没有这样的过程,咄)。

所以我必须用 "记事本 "来做为 processName 但我需要程序关闭不同类型的文件打开程序(word、excel、chrome、随机.txt或.mp3文件等)。

我的问题是,有没有办法让它做到这一点,而不需要写大量的代码块来检查打开的文件是在什么进程下打开的,并通过CloseMainWindow()或类似的方法来关闭它?

抱歉,这个问题解释得比较混乱,希望没有让你太头疼。

c# file process system.diagnostics
1个回答
-1
投票

如果你使用 ,使用语句,它将自动关闭文件,阅读后。下面只是一个例子,它是如何工作的。

String path = @"C:\Text.txt";

    using (StreamReader sr = File.OpenText(path))
    {
     String s = "";

     while ((s = sr.ReadLine()) != null)
     {
      Console.WriteLine(s);
     }
© www.soinside.com 2019 - 2024. All rights reserved.