读书人

求大神. 如何写获取FileStream读取(re

发布时间: 2012-12-14 10:33:07 作者: rapoo

求大神. 怎么写获取FileStream读取(read)与写入(write)文件的时间
如题 :比如说这段代码


static void Main(string[] args)
{
string Source = @"D:\我的小三\9300影音\江南Style.zip";
string Target = "E:\\江南Style.zip";
CopyFile(Source, Target);
Console.WriteLine("文件拷贝完毕");

}

//读取文件的流
FileStream FsRead = new FileStream(Source, FileMode.Open);

//写入文件的流
FileStream FsWrite = new FileStream(Target, FileMode.Create);

//创建一个写入文件读取文件的缓冲区
byte[] byts = new byte[1024 * 1024 * 20];
//循环写入读取文件
while (true)
{
//每次读取完缓冲区里的字节数
int r = FsRead.Read(byts, 0, byts.Length);

if (r <= 0)
{
break;
}
else
{
FsWrite.Write(byts, 0, r);
}
}

FsWrite.Close();
FsWrite.Dispose();
FsRead.Close();
FsRead.Dispose();

求把这个文件从D盘拷贝到E盘用的时间. 应该怎么写啊 . 本人菜鸟 . 求指教 . 谢谢 !

[最优解释]
把相关代码放到:

Stopwatch watch = new Stopwatch(); 


watch.Start();

//相关代码

watch.Stop();
Console.Write(watch.ElapsedMilliseconds + "毫秒!");


[其他解释]
http://cn.bing.com/search?q=.net+stopwatch&qs=n&form=QBLH&pq=.net+stopwatch&sc=0-8&sp=-1&sk=
[其他解释]
......
int startTime = System.Environment.TickCount;
CopyFile(Source, Target);
Console.WriteLine("文件拷贝完毕");

Console.WriteLine("耗时{0}毫秒", System.Environment.TickCount - startTime);
......

这应该是最简单的方法,别忘了分
[其他解释]
复制前后分别获取时间:
DateTime.Now.Ticks;//单位为(1/100)ns
相减即可
[其他解释]
使用Stopwatch这个类可以得到一段操作的具体时间
[其他解释]
你是要预测文件操作需要多少时间,还是实际测量文件操作需要多少时间?

读书人网 >C#

热点推荐