如何检查文件是否可以存储在特定位置而不存储/创建文件

本文关键字:文件 存储 定位 创建 位置 何检查 检查 是否 | 更新日期: 2023-09-27 17:53:17

到目前为止,我遇到的所有情况都是这样的:

  • 尝试存储文件
  • 如果文件已存储,则可以
  • 如果文件不能存储,告诉它(没有路径,没有权限等)

目前我站在问题之前如何检查文件是否可以存储而不存储它。一般来说,我甚至不知道该问谷歌什么,因为我得到的所有返回结果都是关于权限的,在Linux中是通用的,而我需要它在c#/Windows下。

如何进行检查?

如何检查文件是否可以存储在特定位置而不存储/创建文件

由于您不想尝试写入文件夹,您可以考虑使用这种方法。

你可以在上面加上一个try catch:

System.Security.AccessControl.DirectorySecurity ds = Directory.GetAccessControl(folderPath);

public bool CanWriteToPath(string folderPath) 
{
    try 
    { 
        var ds = Directory.GetAccessControl(folderPath);
        return true;
    } catch (UnauthorizedAccessException)
    {
        return false;
    }
}

只有当你有权限时才会成功。

很抱歉,它仍然需要使用try/catch。

如何使用try catch块?如果发生任何异常-您可以捕获它并确定不能保存文件。如果没有异常,表示文件保存成功。

存在一个目录。GetAccessControl方法和File。GetAccessControl方法。IO命名空间。

如果您想在实际写入文件之前了解状态,请检查指定目录是否对该用户具有写权限。如果一切正常,则写入该文件。