用FileStream来复制文件

一个用FileStream来复制文件的小程序


相比用File.Copy()方法,我觉得有两个好处
1:可以实时显示文件进度
2:当文件拷贝到一半发生异常时不会造成目标文件不可用,(用FileStream,文件可播放已拷贝部分的片段)


贴上代码:

 1         private   void  button1_Click( object  sender, EventArgs e)
 2          {
 3            FileStream fsr = null;
 4            FileStream fsw = null;
 5            try
 6            {
 7                this.progressBar1.Maximum =100;
 8                fsr = new FileStream(this.textBox1.Text, FileMode.Open);
 9                fsw = new FileStream(this.textBox2.Text, FileMode.Create);
10                byte[] bt = new byte[1024*1024];
11                int rcount = 0;
12                do
13                {
14                    Application.DoEvents();
15                    rcount = fsr.Read(bt, 0, bt.Length);
16                    fsw.Write(bt, 0, rcount);
17                    //this.progressBar1.Value = Convert.ToInt32(fsw.Length);
18                    this.progressBar1.Value = ((int)(((float)fsw.Length / (float)fsr.Length)*100 )) ;
19                    Application.DoEvents();
20                }
 while (rcount != 0);
21                fsr.Close();
22                fsw.Close();
23            }

24            catch (Exception ex)
25            {
26                if (fsr != null)
27                {
28                    fsr.Close();
29                    fsr = null;
30                }

31                if (fsw != null)
32                {
33                    fsw.Close();
34                    fsw = null;
35                }

36                MessageBox.Show(ex.ToString());
37            }

38        }

39

转载于:https://www.cnblogs.com/chenxu4277/archive/2008/05/13/1194480.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值