C# 文件Copy
2023-09-11 14:22:03 时间
文件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
相关文章
- c# 爬虫(三) 文件上传
- 从 C# 崩溃异常 中研究页堆布局
- Visual Studio 2017中使用正则修改部分内容 如何使用ILAsm与ILDasm修改.Net exe(dll)文件 C#学习-图解教程(1):格式化数字字符串 小程序开发之图片转Base64(C#、.Net) jquery遍历table为每一个单元格取值及赋值 。net加密解密相关方法 .net关于坐标之间一些简单操作
- C#编译器优化那点事 c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错 webAPI 控制器(Controller)太多怎么办? .NET MVC项目设置包含Areas中的页面为默认启动页 (五)Net Core使用静态文件 学习ASP.NET Core Razor 编程系列八——并发处理
- 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂
- 【卷土重来之C#学习笔记】(二)c#编程概述
- Word控件Spire.Doc 【段落处理】教程(十一):如何在C#中隐藏单词段落
- c# 执行批处理文件
- C#【文件操作篇】按行读取txt文本
- C#读取CAD文件DXF
- c#多线程同步之EventWaitHandle使用
- C#代码创建Xml文件
- C# Chart控件,chart、Series、ChartArea曲线图绘制的重要属性
- C#调用C++的dll文件方法
- C# 拨号面板 高亮显示
- 【Unity】C#+Visual Studio生成DLL文件(步骤图解)
- C# IO操作,写入文本到txt文件.
- c#检查网络文件是否存在
- C# 读取指定文件夹中的全部文件,并按规则生成SQL语句!
- C#删除文件和文件夹到回收站
- 转:C#与SQl数据的对应关系(tinyint、smallint、int、bigint)
- C# AES加密解密
- C# winform 窗体弹出选择目录或文件 的对话框
- C#最小化到托盘+双击托盘恢复
- C# memoryStream
- C# 读取快捷方式指向的文件
- 接口 C# 请求数据 模拟多线程下载文件
- C#中命名空间,C#程序中的一种代码组织形式,主要用来标识类的可以范围,引用using 命名空间