C#中大文件的复制
来源:互联网 发布:js display block 编辑:程序博客网 时间:2024/04/30 05:56
最近又学习了两个类,FileStream,这个类是做什么的呢?
先看一下MSDN给出的官方解释
FileStream:公开以文件为主的 Stream,既支持同步读写操作,也支持异步读写操作。
小编理解:主要是以流的形式来操作文件。
什么是流?
在日常生活中,有车流、水流等,而正是有了流的存在,才不至于交通拥挤,洪水爆发,而是以一种流的形式慢慢的来疏通(不知能否理解)。比如,我们在操作文件复制的时候,直接复制的话,会把大容量的文件直接放到内存中,导致复制的很慢,而采取流的话,会把文件以二进制的形式,慢慢的复制,从而提高了速度。
大文件的复制
下面来做一个大文件的复制的联系,来熟悉下这个类的操作。
整个的流程就如上图所示,通过流的形式,把二进制文件读入到缓冲区,最后在写出,就实现了文件的复制。
Demo展示
//读入大文件操作 static void Main(string[] args) { //文件流读取大文件 using (FileStream fs = new FileStream(@"D:\软件3\Java\jdk-8u11-windows-i586.1406279697.exe", FileMode.OpenOrCreate)) {//写入操作 using (FileStream fs2 = new FileStream(@"C:\Users\ZHOU\Desktop\1.exe",FileMode.Create)) { //一次只读1M,定义缓冲区 byte[] buffer = new byte[1024 * 1024*5];//用来判断字节 int n = -1; do { //返回值,实际读到的字节个数,循环向缓冲区读取文件 n = fs.Read(buffer, 0, buffer.Length); //循环写入操作 fs2.Write(buffer, 0, buffer.Length); } while (n > 0); } } }
总结
关于流的操作还有很多,有兴趣的可以在查看下MSDN.
0 0
- C#中大文件的复制
- C# FileStream复制大文件
- C# FileStream复制大文件
- 使用C#在进度条中显示复制文件的进度
- 使用C#在进度条中显示复制文件的进度
- 使用C#在进度条中显示复制文件的进度
- 使用C#在进度条中显示复制文件的进度
- 使用C#在进度条中显示复制文件的进度
- 使用C#在进度条中显示复制文件的进度
- 使用C#在进度条中显示复制文件的进度
- 使用C#在进度条中显示复制文件的进度
- C#在进度条中显示复制文件的进度
- 使用C#在进度条中显示复制文件的进度
- 使用C#在进度条中显示复制文件的进度
- C#复制文件的问题
- C#中数组的复制
- c#中复制文件到粘贴板
- C# 利用系统API 复制大文件(显示进度条)
- 2、类、对象、方法
- 黑马程序员——按钮操作
- majority element
- Tomcat内核之ASCII解码的表驱动模式
- 正则表达式分割小片段
- C#中大文件的复制
- TCP协议中的三次握手和四次挥手(图解)
- Java回顾之Spring基础
- 两网关同时使用
- 找出未收集统计信息,以及统计信息过期的表
- HDU 5120 Intersection(圆的面积交)
- [Leetcode]Path Sum
- SDUT 1563 实况球员综合能力大比拼(排序)
- Activity的launchMode详细分析