C#用流读写大文件

Code tells all:

using System;
using System.IO;

namespace CSharpTest
{
    class Program
    {
        static void Main(string[] args)
        {
            FileStream fsRead = File.OpenRead(@"D:\test\in.txt");
            FileStream fsWrite = File.OpenWrite(@"D:\test\out.txt");

            byte[] buf = new byte[1024 * 8];
            int total = 0;
            int size = 0;
            do 
            {
                //注意第二个参数是在buffer中的偏移量,不是在文件中的偏移量
                size = fsRead.Read(buf, 0, buf.Length);
                fsWrite.Write(buf, 0, size);
                total += size;
            }while (size > 0);

            if (total != fsRead.Length)
            {
                Console.WriteLine("Error: total != fsRead.Length");
            }

            fsRead.Close();
            fsWrite.Close();

            Console.Write("GAME OVER!");
            Console.ReadKey();
        }
    }
}


相关阅读:

1、FileStream.Read 方法

2、FileStream.Write 方法


*** walker ***