gpt4 book ai didi

c# - 处理临时文件流

转载 作者:太空狗 更新时间:2023-10-29 20:43:33 24 4
gpt4 key购买 nike

假设我想定义一个 TempFileStream 类,它使用 Path.GetTempFileName() 方法创建一个临时文件。当不再需要 TempFileStream 的对象时,必须删除临时文件,例如关闭或处置:

class TempFileStream: FileStream
{
string m_TempFileName = Path.GetTempFileName();
public TempFileStream(FileMode fileMode): base(m_TempFileName,fileMode) {}

/// ...

public ovverride Dispose(bool disposing)
{
/// ???
}

}

我应该如何简单而安全地实现它?

最佳答案

试试这个:

public class TempFileStream : FileStream
{
public TempFileStream()
: base(Path.GetTempFileName(), FileMode.Create, FileAccess.ReadWrite, FileShare.Read, 4096, FileOptions.DeleteOnClose) { }
public TempFileStream(FileAccess access)
: base(Path.GetTempFileName(), FileMode.Create, access, FileShare.Read, 4096, FileOptions.DeleteOnClose) { }
public TempFileStream(FileAccess access, FileShare share)
: base(Path.GetTempFileName(), FileMode.Create, access, share, 4096, FileOptions.DeleteOnClose) { }
public TempFileStream(FileAccess access, FileShare share, int bufferSize)
: base(Path.GetTempFileName(), FileMode.Create, access, share, bufferSize, FileOptions.DeleteOnClose) { }
}

FileOptions.DeleteOnClose 选项将确保操作系统在您关闭文件时自动删除临时文件。不需要特殊的 Dispose 方法,因为它已经为您处理好了。

关于c# - 处理临时文件流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1519429/

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