我需要知道是否可以在特定文件夹中创建文件,但要检查的东西太多,例如权限、重复文件等。
我正在寻找类似 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/