我正在使用旧的Resume解析器系统,该系统使用方法ProcessStream(ref Stream oStream)
,其中Stream类型为ADODB.Stream
。我有一个字节数组,我想转换为该流,但是我无法。
我尝试将字节数组转换为IO Stream
,然后将其转换为ADODB.Stream,但这也不起作用。
任何帮助将不胜感激。谢谢!
答案 0 :(得分:0)
有两种可能的解决方案。
方法1将数据从文件加载到ADODB.Stream
中。
[TestMethod]
public void Test1()
{
String someString = "Sample string";
Byte[] bytes = Encoding.ASCII.GetBytes(someString);
File.WriteAllBytes("D:\\test.txt", bytes);
ADODB.Stream stream = new ADODB.Stream();
stream.Open();
stream.Type = ADODB.StreamTypeEnum.adTypeBinary;
stream.LoadFromFile("D:\\test.txt");
Byte[] readData = stream.Read(someString.Length);
CollectionAssert.AreEqual(bytes, readData);
}
方法2将数据从内存中的字节数组加载到ADODB.Stream
中。
[TestMethod]
public void Test2()
{
String someString = "Sample string";
Byte[] bytes = Encoding.ASCII.GetBytes(someString);
ADODB.Stream stream = new ADODB.Stream();
stream.Open();
stream.Type = ADODB.StreamTypeEnum.adTypeBinary;
stream.Write(bytes);
stream.Position = 0;
Byte[] readData = stream.Read(someString.Length);
CollectionAssert.AreEqual(bytes, readData);
}
在每种方法的结尾,我检查了readData
变量,并保存了与原始“字节”字节数组相同的数据。