c# - 如何检查我是否可以在特定文件夹中创建文件

标签 c# .net permissions filesystems

我需要知道是否可以在特定文件夹中创建文件,但要检查的东西太多,例如权限、重复文件等。 我正在寻找类似 File.CanCreate(@"C:\myfolder\myfile.aaa") 的东西,但还没有找到这样的方法。 我唯一想到的就是尝试创建一个虚拟文件并检查异常,但这是一个会影响性能的笨拙解决方案。 你知道更好的解决方案吗?

最佳答案

实际上,创建虚拟文件不会对大多数应用程序产生巨大的性能影响。当然,如果您具有创建但不销毁的高级权限,它可能会有点毛茸茸...

Guids 对于随机名称总是很方便(以避免冲突)——比如:

string file = Path.Combine(dir, Guid.NewGuid().ToString() + ".tmp");
// perhaps check File.Exists(file), but it would be a long-shot...
bool canCreate;
try
{
    using (File.Create(file)) { }
    File.Delete(file);
    canCreate = true;
}
catch
{
    canCreate = false;
}

关于c# - 如何检查我是否可以在特定文件夹中创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/316903/

相关文章:

c# - VS 2015 中的类库 - 构建跨平台库

c# - 向一组类添加行为

java - ASPxGridView java 的替代品?

python - IronPython与WPF编译exe pyc错误

java - 如何以 root 身份启动 Java 程序但降级为非 root 用户

android - Facebook SDK,如何检查用户是否接受了我的权限?

c# - 通用 linq 排序方法 - 解析表达式

c# - 如何通过 C# 将可空整数列的空值插入 SQL 表

.net - .NET 中 Win32 的 ________ 等价物

android - Android 中的 android.permission.INTERNET 权限检查点在哪里?