【问题标题】:Check if path is a possible (valid) location to save a file in C#.NET检查路径是否是在 C#.NET 中保存文件的可能(有效)位置
【发布时间】:2014-10-21 13:09:17
【问题描述】:

.NET API 中是否有一些方法或其组合可以传递完整路径,即“C:\Directory\File.Ext”,并检查是否可以在该位置创建文件。它可能会返回 true 或 false。

例如,

C:\Directory\file.ext         : true, unless no permission to write there.
C:\Directory\??&#.kc2         : false
asdf                          : false
X:\Directory\file.ext         : false, if no X: drive exists
\\local-pc\directory\file.ext : true

【问题讨论】:

  • 你在找File.Exists
  • 如果您正在寻找是否可以保存在那里,@YuvalItzchakov 也有一个很好的答案。
  • 这类测试在多任务操作系统上价值很小。他们确实保证您的文件操作不会失败。因为在您测试后一纳秒,另一个进程仍然可以使该位置无法访问。让您头疼不已(我检查过,但仍然失败!)您不能跳过 try/catch 操作,所以不要费心预先检查。
  • 使用try - catch?这将捕获多个异常(例如,错误的路径、权限等)

标签: c# .net validation


【解决方案1】:

可能更简单的方法是尝试写入此路径(尤其是 UNC 路径可能会出现问题)并在出现问题时尝试处理异常

此外,即使您创建将检查权限、路径等的方法,您也必须创建异常处理程序,因为方法调用之间可能会发生一些变化

【讨论】:

    猜你喜欢
    • 2011-09-23
    • 2022-01-17
    • 1970-01-01
    • 2011-09-06
    • 2010-09-30
    • 2011-07-01
    • 1970-01-01
    • 2011-05-05
    • 1970-01-01
    相关资源
    最近更新 更多