我应该将char []转换为流吗?

时间:2013-11-19 09:31:43

标签: .net wcf stream bytearray arrays

我正在为用户编写一个wcfservice来下载一些文件。文件可以是任何编码。所以我使用实用程序类来检测编码,然后从适当的偏移量中读取流,但StreamReader.Read(,,)方法将文件读入char[]。所以我需要对这种情况提出几点建议。 btw max chunk size是4mb。

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

2)如果我需要从char[]转换为Stream,我该怎么做? (我尝试将char[]复制到byte[]但不起作用)

1 个答案:

答案 0 :(得分:0)

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

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);