【问题标题】:Can i put binary in stdin? C#我可以将二进制文件放入标准输入吗? C#
【发布时间】:2010-11-20 00:42:26
【问题描述】:

与这个问题有关encrypt binary with 7z without filenames?

在 C# 中,我如何将二进制文件放入 STDin?我希望下面的方法可以工作,但它没有。这是有道理的。那么如何推送一个 byte[] 数组呢?

new BinaryWriter(p.StandardInput.FormatProvider);

【问题讨论】:

    标签: c# .net stream stdin


    【解决方案1】:

    直接写入基本流:

    
    new BinaryWriter(p.StandardInput.BaseStream)
    

    【讨论】:

    • 或使用p.StandardInput.BaseStream.Write
    【解决方案2】:

    stdin 只是另一个字节流,您的程序可以从中读取

    Stream st=Console.OpenStandardInput ();
    StreamReader sr=new StreamReader(st);
    

    等等。在 q。您指的是,来自stdin 的材料正在从另一个程序的输出中传输。要完成该过程的这一部分,您可以使用Console.OpenStandardOuput() 获取一个流并通过它推出二进制文件。

    【讨论】:

    • 是的,但是如果你在处理二进制,你不想使用StreamReader,它是从TextReader派生的。
    • 是——应该是 BinaryReader。
    • 好吧,也许也许不是。如果您只想处理字节,那么处理原始流就可以了。 BinaryFormatter 之类的其他内容也将很有用 - 只是不是 TextReader
    猜你喜欢
    • 2010-12-08
    • 2010-12-01
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 2015-11-23
    • 2019-03-16
    相关资源
    最近更新 更多