接受变量而不是直接文件路径?

时间:2010-11-01 02:07:21

标签: c# asp.net string file binary

我不确定如何实际问这个问题......

参考:http://qif.codeplex.com/

此API采用文件的路径,我可以将其替换为变量吗?文件的二进制文件或文件的字符串内容?

1 个答案:

答案 0 :(得分:1)

不是直接的,但ImportFile的重载需要StreamReader,所以你可以这样做:

  • 如果您将内容作为字节数组:

    byte[] contentBytes = ...
    QifDom qifDom;
    using (Stream stream = new MemoryStream(contentBytes))
    using (StreamReader reader = new StreamReader(stream))
    {
        qifDom = QifDom.ImportFile();
    }
    
  • 如果您将内容作为字符串:

    string content = ...
    byte[] contentBytes = Encoding.UTF8.GetBytes(content);
    QifDom qifDom;
    using (Stream stream = new MemoryStream(contentBytes))
    using (StreamReader reader = new StreamReader(stream))
    {
        qifDom = QifDom.ImportFile();
    }
    

(错误的API设计,顺便说一句......参数应该是TextReader,而不是StreamReader,所以我们可以使用StringReader而不是将字符串转换为字节)

另请注意,主页上的示例不正确(没有QifDom.Import属性)