相关疑难解决方法(0)

如何轻松检查.NET中的文件是否被拒绝访问?

基本上,我想在实际尝试打开文件之前检查是否有权打开文件; 除非必须,否则我不想使用try/catch进行此检查.有没有我可以检查的文件访问属性?

.net c# file-access

98
推荐指数
2
解决办法
9万
查看次数

以管理员身份运行Visual Studio不会看到映射的网络驱动器

我的方式File.Exists()(不)工作有问题:当我使用它时,它声称该文件不存在(来自立即窗口):

filePath
"P:\\poolman\\LY21\\2015\\LY21_2015-03-25_03.xml"
File.Exists(filePath)
false
Run Code Online (Sandbox Code Playgroud)

但是,如果我将文件路径复制/粘贴到资源管理器窗口URL(删除转义\),则会打开该文件.

因此File.Exists()声称现有的文件不存在会让我感到烦恼.

这不是路径的长度(43),FileInfo并不是这里建议的更好的选择.

这是FileInfo检查的结果:

var f = new FileInfo(filePath);
{P:\poolman\LY21\2015\LY21_2015-03-25_03.xml}
    base: {P:\poolman\LY21\2015\LY21_2015-03-25_03.xml}
    _name: "LY21_2015-03-25_03.xml"
    Directory: {P:\poolman\LY21\2015}
    DirectoryName: "P:\\poolman\\LY21\\2015"
    Exists: false
    IsReadOnly: true
    Length: '(var f = new FileInfo(filePath);).Length' threw an exception of type 'System.IO.FileNotFoundException'
    Name: "LY21_2015-03-25_03.xml"
Run Code Online (Sandbox Code Playgroud)

我怎么处理它?

.net c#

22
推荐指数
1
解决办法
1万
查看次数

检查文件是否可以在共享网络驱动器上访问

我有一个程序可以执行不同的操作,我的问题与网络映射驱动器或共享文件夹中的访问文件有关

程序可以从网络运行文件msi/exe(网络映射驱动器或共享文件夹)程序可以从网络复制文件(网络映射驱动器或共享文件夹)

在尝试运行或复制之前,如何检查文件是否可访问(如果网络断开连接或任何其他网络问题)?

是不够的 File.Exists();

这是我的代码示例:

public static bool FileIsOk(string path)
{
   try
   {
      FileInfo finfo = new FileInfo(path);

      if (finfo.Exists)
      {
         return true;
      }
      MessageBox.Show("file does not exist, or there is a problem with the network preventing access to the file!");
      return false;
   }

   catch (Exception e)
   {
      MessageBox.Show(e.Message);
   }
   return false;
}
Run Code Online (Sandbox Code Playgroud)

谢谢

c# file-io networking file

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×3

.net ×2

file ×1

file-access ×1

file-io ×1

networking ×1