如果 C# 中的相同位置已存在文件,则始终创建新文件

2023-12-04

我使用下面的代码创建了一个新文件。但如果该文件已经存在,那么我需要使用另一个文件名创建一个新文件。这可能吗?

FileStream fs = new FileStream(filePath, FileMode.Append, FileAccess.Write, FileShare.ReadWrite);
BinaryWriter bw = new BinaryWriter(fs);

bw.Write(b);
bw.Close();
fs.Dispose();

我的文件保存位置是相同的。


如果你使用FileMode.CreateNew如果文件已经存在,它将抛出异常。

创建新的
指定操作系统应创建一个新文件。这需要 FileIOPermissionAccess.Write。如果文件已经存在,则抛出 IOException。
http://msdn.microsoft.com/en-us/library/system.io.filemode.aspx

您可以将它与File.Exists减少异常的可能性,但只需使用File.Exists是有问题的。可以在存在检查和打开它之间创建一个文件。如果该文件不太可能存在(例如您使用随机生成的名称),则跳过File.Exists彻底检查。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果 C# 中的相同位置已存在文件,则始终创建新文件 的相关文章

随机推荐