gpt4 book ai didi

c# - FileStream 保存文件然后立即在 .NET 中解锁?

转载 作者:太空狗 更新时间:2023-10-29 17:30:46 24 4
gpt4 key购买 nike

我有保存 pdf 文件的代码。

FileStream fs = new FileStream(SaveLocation, FileMode.Create);
fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length);
fs.Flush();
fs.Close();

它工作正常。然而,有时它不会立即释放锁,这会导致文件锁定异常,函数在此运行后运行。

fs.Close()

之后立即释放文件锁是否有理想的方法?

最佳答案

这是理想的:

using (var fs = new FileStream(SaveLocation, FileMode.Create))
{
fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length);
}

大致相当于:

FileStream fs =  null;
try
{
fs = new FileStream(SaveLocation, FileMode.Create);
fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length);
}
finally
{
if (fs != null)
{
((IDisposable)fs).Dispose();
}
}

using更具可读性。


更新:

@aron,现在我在想

File.WriteAllBytes(SaveLocation, result.DocumentBytes);

看起来比理想的更漂亮 :-)

关于c# - FileStream 保存文件然后立即在 .NET 中解锁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2670429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com