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