【问题标题】:How can I convert StreamWriter to a Stream?如何将 StreamWriter 转换为 Stream?
【发布时间】:2017-03-23 11:46:37
【问题描述】:

我正在尝试使用 FileHelpers 创建一个文件,然后使用 SshNet 将该文件全部写入内存。

到目前为止,我有以下内容:

        var engine = new FileHelperEngine<MyObject>();
        MemoryStream ms = new MemoryStream();
        StreamWriter sw = new StreamWriter(ms);
        engine.WriteStream(sw, MyData);

        SshHelper ssh = new SshHelper("","","");
        ssh.WriteFile("MyPath", sw.BaseStream);

但是我的问题在于 WriteFile 方法,因为它需要一个 Stream 参数,并且当我运行我的代码时,我得到一个空文件。

如何将我的 StreamWriter(sw 变量)转换为 Stream 参数?

编辑: 我都试过了(不是同时):

ms.Seek(0, SeekOrigin.Begin);
ms.Position = 0;

它仍然写入一个 0 字节的文件。

我通过使用 FileHelper 写入本地磁盘进行进一步测试,以验证我是否有数据。 (我这样做)

【问题讨论】:

    标签: c# ssh.net


    【解决方案1】:

    您的 MemoryStream 是流,StreamWriter 只是写入它。尝试传入 ms,而不是 sw。

    【讨论】:

    • 你倒带了吗?
    【解决方案2】:

    WriteFile 之前尝试将 Stream 的位置设置为 0:ms.Seek( 0, SeekOrigin.Begin )

    【讨论】:

      猜你喜欢
      • 2023-03-31
      • 2014-05-22
      • 2010-09-07
      • 2018-01-15
      • 2013-09-23
      • 1970-01-01
      • 2019-11-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多