我正在为用户编写一个wcfservice来下载一些文件。文件可以是任何编码。所以我使用实用程序类来检测编码,然后从适当的偏移量中读取流,但StreamReader.Read(,,)
方法将文件读入char[]
。所以我需要对这种情况提出几点建议。
btw max chunk size是4mb。
1)我应该将输出char[]
转换为Stream
吗?或者可以通过wcf发送char[]
吗?
2)如果我需要从char[]
转换为Stream
,我该怎么做? (我尝试将char[]
复制到byte[]
但不起作用)
答案 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);