在我的项目中,我必须在 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/