c# - 写入没有文件路径的流

标签 c# .net stream

我有一个遗留类,它使用 StreamWriter 将一些结果写入文件,该类是使用接受 FileStream 的构造函数创建的,该类之前是通过为其构造函数提供文件路径来创建的:

        using (FileStream fs = File.Open(outputFilePath, FileMode.Create))
        using (StreamWriter sw = new StreamWriter(fs))
        {
            MyFileWriter.WriteToFile(someData, sw);
        }

顺便说一句,WCF 服务中使用了规定的代码。
现在,我有新的要求,我必须将文件保存到客户端文件系统,并且我有限制,我只能将 byte[] 发送到客户端。我想对现有代码进行最少的更改以支持这一点,例如,是否存在某种我可以创建而无需在其构造函数中指定文件路径的流?稍后我会将此流转换为 byte[]
我也愿意接受您可能有的任何其他想法。

最佳答案

您可以使用 MemoryStream,

    byte[] result;
    using (MemoryStream ms = new MemoryStream())
    using (StreamWriter sw = new StreamWriter(ms))
    {
        MyFileWriter.WriteToFile(someData, sw);
        result = ms.ToArray();
    }

    // use the result byte[]

关于c# - 写入没有文件路径的流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11609018/

相关文章:

.net - 即时压缩(来自流)流

c# - 泛型和 Action 委托(delegate)

c# - 如何避免加载不必要的程序集

c# - 复制流的最后 16 个字节以外的所有字节?流结束的早期检测?

c# - 根据另一个列表过滤通用列表

c# - 使用类和存储过程将数据插入 C# (Visual 2015) 中的 SQL Server 2014

C# BackgroundWorker线程问题

c# - ContainsKey 在 hashset<myClass> 的字典中

c++ - 将每个单词的第一个字符大写 - 帮助发现我的错误

javascript - Node js流中的执行顺序