如何“预约”文件名或确保文件名可用的最佳方法
我需要调用一个方法来创建文件并在文件已存在时抛出异常。这可能听起来有些偏执,但我认为拥有诸如 string CreateTempFileNameAndReserveForThisProcess() 这样的方法会很有意义。
我能得到的最接近的东西是什么?
我目前使用的是:
string tempFileName = Path.GetTempFileName();
File.Delete(tempFileName);
// Call the function that requires the file not to exist.
I need to call a method that will create a file and throw an exception if the file already exists. This might sound paranoiac but I think it would make lots of sense to have a method such as string CreateTempFileNameAndReserveForThisProcess()
.
What is the closest thing I could get to this?
What I'm currently using is:
string tempFileName = Path.GetTempFileName();
File.Delete(tempFileName);
// Call the function that requires the file not to exist.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
请参阅此 http://msdn.microsoft.com/en -us/library/system.io.path.gettempfilename.aspx
如果你想保证每个进程/线程等都有一个唯一的文件,你可以创建一个具有该名称的文件
Guid.NewGuid().ToString() + ".tmp"
See this http://msdn.microsoft.com/en-us/library/system.io.path.gettempfilename.aspx
If you want to guarantee a unique file for each process/thread etc. you can just go create a file with the name
Guid.NewGuid().ToString() + ".tmp"