标签:c# filestream 文件流 write
FileStream、StreamReader和StreamWriter可以操作大文件;
FileStream 操作字节;可以操作任何类型的文件;
StreamReader和StreamWriter操作字符;
方法名 | 作用 | 参数 |
---|---|---|
FileStream() | 创建FileStream对象 | 第一个是路径,第二个是文件模式FIleMode枚举,第三个数据模式FileAcess |
Read() | 分部分读取文件,返回实际读到的有效字节数,如果读得数量不是第三个参数指定的,就用空填充 | 第一个是存放的字节数组,表示从哪个地方往数组里放数组?,每次最多读多少 |
Write() | 把字节数组写入 | 第一个参数是字节数组,第二个参数表示从哪个地方开始写入,第三个参数表述最多写多少 |
close(),dispose() | 关闭流,释放流所占用的资源 |
FileMode OpenOrCreate , Append
FileAcess. Read 、Write、ReadWirte
将创建文件流对象的过程写在using当中,会自动帮助我们释放资源;
可以用来读取格式化文本文件;
有ReadLine和Write WriteLine方法
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 用FileStream读写文件
{
class Program
{
static void Main(string[] args)
{
String str = @"E:\下载\软件";
Stopwatch sw = new Stopwatch();
sw.Start();
using (FileStream fsWriter = new FileStream(str + @"\opencv-3.0.exe", FileMode.Create, FileAccess.Write))
{
using (FileStream fsReader = new FileStream(str + @"\opencv-2.4.9.exe", FileMode.Open, FileAccess.Read))
{
byte[] bytes=new byte[1024*4];//4kB是合适的;
int readNum;
while((readNum=fsReader.Read(bytes,0,bytes.Length))!=0)//小于说明读完了
{
fsWriter.Write(bytes,0,readNum);
}
}//suing reader
}//using writer
sw.Stop();
Console.WriteLine("总的运行时间为{0}",sw.ElapsedMilliseconds);
Console.ReadKey();
}//main
}//class
}
标签:c# filestream 文件流 write
原文地址:http://blog.csdn.net/zhzz2012/article/details/46012013