stream的seek方法实例

using (FileStream outStream = new FileStream(@"D:\12.txt", FileMode.Open))
{
using (FileStream fs = new FileStream(@"D:\1.txt", FileMode.Open))
{
//缓冲区太小的话,速度慢而且伤硬盘
//声明一个4兆字节缓冲区大小,比如迅雷也有一个缓冲区,如果没有缓冲区的话,
//每下载一个字节都要往磁盘进行写,非常伤磁盘,所以,先往内存的缓冲区写字节,当
//写够了一定容量之后,再往磁盘进行写操作,减低了磁盘操作。
byte[] bytes = new byte[];
int readBytes;
//第二个参数Offset表示当前位置的偏移量,一般都传0
fs.Seek(, SeekOrigin.Current);
if ((readBytes = fs.Read(bytes, , bytes.Length)) > ) //读取的位置自动往后挪动。
{
//readBytes为实际读到的byte数,因为最后一次可能不会读满。
if (outStream.CanSeek == true)
outStream.Seek(, SeekOrigin.Current);
outStream.Write(bytes, , readBytes-);//8为偏移量,10为数量
}
}
}
上一篇:Android 之 内存管理-查看内存泄露(三)


下一篇:cocos2d-x调度器原理