我应该将char[]转换为stream吗



我正在编写一个wcfservice,供用户以块的形式下载一些文件。文件可以采用任何编码。因此,我使用了一个实用程序类来检测编码,然后从适当的偏移量读取流,但StreamReader.Read(,,)方法将文件读取为char[]。所以我需要一些关于这种情况的建议。btw最大区块大小为4mb。

1) 我应该将输出char[]转换为Stream吗?或者只通过wcf发送char[]可以吗?

2) 如果我需要从char[]转换为Stream,我该怎么做?(我试图将char[]复制到byte[],但没有成功)

您正在寻找MemoryStream.Write方法。例如,以下代码将字节[]数组的内容写入内存流:

byte[] myByteArray = new byte[10];
MemoryStream stream = new MemoryStream();
stream.Write(myByteArray, 0, myByteArray.Length);

或者,您可以基于字节数组创建一个新的、不可调整大小的MemoryStream对象:

byte[] myByteArray = new byte[10];
MemoryStream stream = new MemoryStream(myByteArray);

相关内容

  • 没有找到相关文章

最新更新