C#的IO流的File和FileInfo操作实例

C#的IO流的File和FileInfo操作实例

C#中操作文件的最基本类就是IO类,里面就定义了很多衍生类和方法给我们对文件进行处理、转换、执行等操作;其中流分为写入流(输入流)和读取流(输出流),输出流用于对文件进行读取流操作,输入流用于对文件进行写入数据;
其中IO流中我们比较常用的类有BinaryReader(从二进制流读取原始数据), BinaryWriter(以二进制格式写入原始数据),BufferedStream(字节流的临时存储), Directory(有助于操作目录结构), DirectoryInfo(用于对目录执行操作),File(有助于处理文件),FileInfo(用于对文件执行操作), FileStream(用于文件中任何位置的读写)
1、 File 和 FileInfo 这两个类主要是对文件进行处理和执行的操作,其中File类是静态类,不需要实例化就可以直接调用里面的方法,而FileInfo则需要实例化对象,其效率相对于File类比较低,当我们只需要对单个文件进行少量操作时可以用File类,如果对单个文件进行多个操作时就可以实例化FileInfo使用。下面是个简单的操作例子:

namespace IO流
{
    public partial class Form1 : Form
    {
      public Form1()
        {
           InitializeComponent();
       }
        private void button1_Click(object sender, EventArgs e)
        {
           string strDirectory = "E:\\IO流文件夹"; //声明一个文件夹
           string strFiles = "E:\\IO流文件夹\\mytext.txt"; //声明一个文件text
           string strFiles1 = "E:\\IO流文件夹\\mytext1.txt"; //声明一个文件text1
           if (!Directory.Exists(strDirectory)) //判断是否纯在该文件夹,不存在就创建
            {
                Directory.CreateDirectory(strDirectory); //创建文件夹
            }
        //下面两个方法,执行其中一个就行了;
            //1、File新增文件并往txt文件里面写入文本内容,如果已经存在就覆盖;第一个参数是路径,第二个参数是文本内容
           File.WriteAllText(strFiles,textBox2.Text);
             	2、FileInfo新增文件 
           //FileInfo fs = new FileInfo(strFiles); //实例化FileInfo类,对strFiles进行执行
            FileInfo cpfs = new FileInfo(strFiles1);//初始化实例化fs复制来的文件,
            if (cpfs.Exists)  //判断fs复制得到的文件是否纯在,不存在下面才可以fs复制得到strFiles1
            {
                cpfs.Delete(); //存在就删除
            }
           // StreamWriter stw = fs.CreateText();//实现文本写入流
          // stw.WriteLine(textBox2.Text.ToString());//写入文本内容
          // stw.Close();//关闭StreamWriter 写入流
           // //复制文件
           // fs.CopyTo(strFiles1);
       }
    }
}

上面就是File和FileInfo对文集进行操作和执行的实例,不过这里是通过文本来展示,因为刚试着去理解IO流,只能从简单的文本出发,后期要处理图片,视频等文件时,就是通过二进制读取和写入文件流的了;从上面可以看到我们对单个文件进行单个操作时用File会比较方便,比如我要给一个文件写入内容时,通过File就可以直接写入了,如果打算多次重用某个对象就用FileInfo。上面的代码是Window From 的代码,通过页面输入内容添加到具体文件夹\文件中,并且复制该文件到新文件中,结果如下图;
窗体截图
在这里插入图片描述
结果截图:
在这里插入图片描述
根据上面代码和两张截图可以看到我们可以通过使用File类的WriteAllText实现新增文本文件,亦可以通过实例化FileInfo 对象实现新增文本文件,复制文本文件等一系列操作;在这就不一一列举了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值