欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

c#的FileStream文件流

程序员文章站 2022-05-30 19:59:28
...

文件流

FileStream、StreamReader和StreamWriter可以操作大文件;
FileStream 操作字节;可以操作任何类型的文件;
StreamReader和StreamWriter操作字符;

FileStream

方法名 作用 参数

FileStream() 创建FileStream对象 第一个是路径,第二个是文件模式FIleMode枚举,第三个数据模式FileAcess

Read() 分部分读取文件,返回实际读到的有效字节数,如果读得数量不是第三个参数指定的,就用空填充 第一个是存放的字节数组,表示从哪个地方往数组里放数组?,每次最多读多少

Write() 把字节数组写入 第一个参数是字节数组,第二个参数表示从哪个地方开始写入,第三个参数表述最多写多少

close(),dispose() 关闭流,释放流所占用的资源

FileMode OpenOrCreate , Append
FileAcess. Read 、Write、ReadWirte

将创建文件流对象的过程写在using当中,会自动帮助我们释放资源;

StreamReader和StreamWriter

可以用来读取格式化文本文件;
有ReadLine和Write WriteLine方法

<code class="language-C# hljs cs">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
}
</code>

以上就是c#的FileStream文件流的内容,更多相关内容请关注PHP中文网(www.php.cn)!