c# - 带有 DeleteOnClose 文件选项的 FileStream

标签 c# .net filestream

在我的项目中,我必须在 USB 设备中创建一些临时文件,我想在关闭时删除这些文件。所以我使用了这样的代码

this.fcommandHandler = new FileStream(TempFileName,
FileMode.CreateNew, FileAccess.ReadWrite,
FileShare.ReadWrite, 512, FileOptions.DeleteOnClose);

它工作正常。但问题是我想再使用一个 FileOption,比如无缓冲。

private const FileOptions FILE_FLAG_NO_BUFFERING = (FileOptions)0x20000000;

this.fcommandHandler = new FileStream(TempFileName,
FileMode.CreateNew, FileAccess.ReadWrite,
FileShare.ReadWrite, 512, FileOptions.DeleteOnClose & FILE_FLAG_NO_BUFFERING);

但关闭后并没有删除文件。请帮忙。

最佳答案

您需要使用 | 而不是 &

这些是二进制标志,当您说 & 时,您实际上将它们全部屏蔽掉了,导致根本没有任何选项。

关于c# - 带有 DeleteOnClose 文件选项的 FileStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1444262/

相关文章:

c# - EF6 POCO 无法在 1..* 关系中转换 HashSet 类型的对象

.net - Visual Studio : how to debug a library with an external executable?

c# - 析构函数与 IDisposable?

.net - 在 Visual Studio 2010 中,为什么要创建 .NETFramework,Version=v4.0.AssemblyAttributes.cpp 文件,我可以禁用它吗?

c# - iTextSharp + FileStream = 损坏的 PDF 文件

c# - CSS 背景图像未显示在 MVC4 的 ActionLink 中

c# - Entity Framework : "Parameter value is out of range."

c# - 处理同一文件的多个流的最佳方法

c# - 手动注册 WebApi Controller

C# 从文件读取数据 block 到字节数组