首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

求大神. 如何写获取FileStream读取(read)与写入(write)文件的时间

2012-12-14 
求大神. 怎么写获取FileStream读取(read)与写入(write)文件的时间如题 :比如说这段代码static void Main(s

求大神. 怎么写获取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这个类可以得到一段操作的具体时间
[其他解释]
你是要预测文件操作需要多少时间,还是实际测量文件操作需要多少时间?

热点排行