c# - 在没有实际文件的情况下使用 FileStream

标签 c# file filestream

I wanted to use the FileStream class to avoid saving any files on the client's computer. But every constructor of FileStream requires a path to a file.

如何从流创建 FileStream 而不必将其保存在硬盘上?

编辑:我已经在使用内存流来存储我的信息。但在某些时候我需要将文件压缩到另一个流中。问题是 zip 命令(我查看了 GZipStream - 它将文件压缩到流)需要我一个源文件路径(文件流)。

如果我不能通过从流创建 FileStream 来超越,是否有另一种压缩流的方法?

最佳答案

在这种情况下,您应该只使用 MemoryStream,并确保您的 API 只需要 Stream 而不是 FileStream。例如:

using(var ms = new MemoryStream()) {
     YourCode(ms);
}

或者,您可以通过 Path.GetTempFileName() 使用临时区域中的文件来继续使用 FileStream

关于c# - 在没有实际文件的情况下使用 FileStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9953942/

相关文章:

c# - 如何在我的 C# 项目中使用 shell32.dll 中的图像?

c# - 如果未启用 JavaScript,则重定向

python - (初学者)使用 Python 重命名文件 - 重构以获得更好的答案

c# - 确定 ARGB 范围之间的像素颜色

c# - 使用.NET重命名计算机名称

c - 如何将文本添加到c语言的结束文件文本中

c - 从 C 中的内存中读取结构数据?

python - 如何在 Python 中将文件流转换为数据 URI?

delphi - TStringList.LoadFromFile - 大文本文件的异常

sql-server - 使用文件流创建数据库时出错