如何检查文件是否可以存储在特定位置而不存储/创建文件
本文关键字:文件 存储 定位 创建 位置 何检查 检查 是否 | 更新日期: 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命名空间。
如果您想在实际写入文件之前了解状态,请检查指定目录是否对该用户具有写权限。如果一切正常,则写入该文件。