很简单的一个事情,就是搞不明白了,代码如下
    public partial class Form1 : Form
    {
        string SourceFileName;
        string NewFileName;
        FileStream ReadFileStream;
        FileStream WriteFileStream;
        int FileSize;
        const int Buffer_Size = 1024;
        byte[] CopyBuffer = new byte[Buffer_Size];
        int i = 0;        public Form1()
        {
            InitializeComponent();
        }        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog _OpenFileDialog = new OpenFileDialog();
            SaveFileDialog _SaveFileDialog = new SaveFileDialog();
            if (_OpenFileDialog.ShowDialog() == DialogResult.OK)
            {
                SourceFileName = _OpenFileDialog.FileName;
                if (_SaveFileDialog.ShowDialog() == DialogResult.OK)
                {
                    NewFileName = _SaveFileDialog.FileName;
                    ReadFileStream = new FileStream(SourceFileName, FileMode.Open, FileAccess.Read);
                    FileSize = (int)ReadFileStream.Length;
                    this.progressBar1.Maximum = FileSize;
                    WriteFileStream = new FileStream(NewFileName, FileMode.Create, FileAccess.Write);
                    while (i < FileSize)
                    {
                        ReadFileStream.Read(CopyBuffer, 0, Buffer_Size);
                        WriteFileStream.Write(CopyBuffer, 0, Buffer_Size);
                        this.progressBar1.Value = i;
                    }
                }
            }
        }
    }我用两个FileStream 一个用来读取文件,一个用来写入文件,问题一M的东西要很长时间,而且变的很大了

解决方案 »

  1.   

    改下
                        while (i < FileSize)
                        {
                            ReadFileStream.Read(CopyBuffer, 0, Buffer_Size);
                            WriteFileStream.Write(CopyBuffer, 0, Buffer_Size);
                            this.progressBar1.Value = i;
                            i++; 
                        }
    还有个问题,我定义的1024是不是1kb啊