System.Threading.Tasks和FileStream

时间:2011-04-20 08:57:13

标签: c# filestream task

我正在尝试使用FileStream对象从网络上的不同文件中读取数据。 所以我创建了Tasks(System.Threading.Tasks)来读取所需文件的一部分。

这种行为让我感到很惊讶。这些任务会引发错误:

int_ReadBytes = stm_BaseStream.Read (byt_buffer, 0, ( int ) ( int_RecordLength * uint_BufferThis ));

if (int_ReadBytes != ( int_RecordLength * uint_BufferThis ))
{
       throw new Exception ("Could not read record");
       // throws an error here. 
} 

任何人使用Task with FileStream对象,或者知道我为什么会遇到这个问题? 谢谢。

1 个答案:

答案 0 :(得分:0)

int_ReadBytes的返回值是多少?它可能不等于(int_RecordLength * uint_BufferThis),因为文件中没有足够的字节可供读取,这将导致代码抛出异常。