• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#文件Copy

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

文件Copy有以下几种方法:

1.Copy

string sourceFile = @"c:\temp\New Text Document.txt"; 
string destinationFile = @"c:\temp\test.txt"; 
bool isrewrite=true; // true=覆盖已存在的同名文件,false则反之
System.IO.File.Copy(sourcePath, targetPath, isrewrite); 

2.CopyTo

string sourceFile = @"c:\temp\New Text Document.txt"; 
string destinationFile = @"c:\temp\test.txt"; 
FileInfo file = new FileInfo(sourceFile); 
if (file.Exists) 
{ 
    // true is overwrite 
    file.CopyTo(destinationFile, true); 
} 

3.使用文件流读写来实现Copy

        #region 拷贝操作
        private void button3_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            DialogResult res = ofd.ShowDialog();
            if (res == DialogResult.OK) 
            {
                if (!string.IsNullOrEmpty(ofd.FileName))
                {
                    //1.创建读入文件流对象
                    FileStream streamRead = new FileStream(ofd.FileName, FileMode.Open);
                    //2.创建1个字节数组,用于接收文件流对象读操作文件值
                    byte[] data = new byte[1024 * 1024];//1M
                    int length = 0;
                    SaveFileDialog sfd = new SaveFileDialog();
                    DialogResult sres = sfd.ShowDialog();
                    if (sres == DialogResult.OK)
                    {
                        if (!string.IsNullOrEmpty(ofd.FileName))
                        {
                            FileStream streamWrite = new FileStream(sfd.FileName, FileMode.Create);
                            do
                            {
                                //3.文件流读方法的参数1.data-文件流读出数据要存的地方,2. 0--从什么位置读,3. data.Length--1次读多少字节数据
                                //3.1 Read方法的返回值是一个int类型的,代表他真实读取 字节数据的长度,
                                length = streamRead.Read(data, 0, data.Length);//大文件读入时候,我们定义字节长度的可能会有限,如果文件超大,要接收文件流对象的Read()方法,会返回读入的实际长度
                                //加密 和解密
                                for (int i = 0; i < length; i++) 
                                {
                                     data[i] = (byte)(255 - data[i]);
                                }
                                    streamWrite.Write(data, 0, length);
                            } while (length == data.Length); //如果实际写入长度等于我们设定的长度,有两种情况1.文件正好是我们设定的长度2.文件超大只上传了截取的一部分
                        }
                    }
                }
            }
        }
        #endregion    

  


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#利用tabControl控件实现多窗体嵌入及关闭发布时间:2022-07-10
下一篇:
C#网络编程---(1)来源出网络的资源收集发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap