new关健字能够启动构造器。在构造器中我们打开一个文件,并得到一个Stream对象。然后在缓冲中分配空间并与回调机制联结起来。
在Run方法中,我们调用了BeginRead,它将以异步的方式读取文件。
这时,我们可以完成其他的工作。
文件读取操作结束后,CLR将调用回调方法。
在OnCompletedRead中要做的第一件事就是通过调用Stream对象的EndRead方法找出读取了多少字节:
对EndRead的调用将返回读取的字节数。如果返回的数字比0大,则将缓冲区转换为一个字符串,然后将它写到控制台上,然后再次调用BeginRead,开始另一次异步读的过程。
现在,在读取文件的过程中就可以作别的工作了(在本例中是从1数到50000),但我们可以在每次缓冲区满了时对读取的数据进行处理(在本例中是向控制台输出缓冲区中的数据)。有兴趣的读者可以点击此处下载完整的源代码。 异步I/O的管理完全是由CLR提供的,这样,在网络上读取文件时,会更好些。 |
正在阅读:由C++转向C#需要注意的变化(三)由C++转向C#需要注意的变化(三)
2004-11-18 15:52
出处:CSDN
责任编辑:linjixiong
键盘也能翻页,试试“← →”键