c#的FileStream文件流

本文展示了如何使用FileStream、StreamReader和StreamWriter类来操作大文件。通过创建FileStream对象并设置文件模式,可以进行文件的读写操作。此外,FileStream类提供Read和Write方法用于分部分读取和写入文件,而StreamReader和StreamWriter则专门用于处理文本文件,包括使用ReadLine和WriteLine方法。代码示例中展示了如何在一个程序中同时使用读写流,确保资源的正确释放。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文件流

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方法

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
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值