一小段程序, 关于二进制读取的, 请大家来看看, 诸多疑问
这是我写的复制文件的最简单例子.  
我想知道有没有更好的实现方法?  
FileStream fs = new FileStream("f:\\aa.bin", FileMode.Open);
             List<byte[]> total = new List<byte[]>();
             int length = 0;
             const int BUFFERSIZE = 1024;
             int offset = 0;
             int timesToRead = (int)Math.Ceiling(Convert.ToDouble(fs.Length)/Convert.ToDouble(BUFFERSIZE));
             for(int i = 0; i <timesToRead; i++)
             {
                 byte[] bytes = new byte[BUFFERSIZE];
                 length = fs.Read(bytes, offset, BUFFERSIZE);
                 total.Add(bytes);
             }
             fs.Close();
             FileStream wfs = new FileStream("f:\\bb.bin", FileMode.OpenOrCreate);
             for (int i = 0; i < timesToRead; i++ )
             {
                 if (i == timesToRead - 1)   //这句写的不好, 不知有什么更好的方法吗
                 {
                     wfs.Write(total[i], 0, length);
                 }
                 else
                 {
                     wfs.Write(total[i], 0, total[i].Length);
                 }
             }
             wfs.Close();
谢谢啦
------解决方案--------------------System.IO.File.Copy (String, String)  //将现有文件复制到新文件。不允许改写同名的文件。
------解决方案--------------------晕倒,不停地开辟新的缓冲区,那与不用缓冲区一次性读到内存与何区别?
即使你内存非常大,也会用到虚存的,效率极低~