• 浅谈“文件与文件流”的区别


    文件与文件流的区别(自己的话):

           在软件开发过程中,我们常常把文件的“读写操作”,与“创造、移动、复制、删除操作”区分开来。其中,文件的“读写操作”是由System.IO命名空间下fileStream类控制的。而文件的“创造、移动、复制、删除操作”是由file类控制的。

           当然了,还有很多和这两个类功能相似的类。这里笔者不过多介绍,本文仅仅是做一次对文件操作的科普。熟悉了这两个类后,再去看其他功能类似的类就会轻松很多了。

     

    文件:file类简单介绍

           File类支持对文件的基本操作,它包括用于创建、复制、删除、移动和打开文件的静态方法。

     创建文件:

    //创建文件
    File.Create(str);    //str是string类型变量,其值为文件的路径,包括文件名,如str="D:\text.txt"

    判断文件存在:

    //判断文件存在
    File.Exists(str);    //str为string变量,为文件路径,包括文件名,如str="D:\text.txt"

    文件流:fileStream类简单介绍

    输入流与输出流

    输入流:可以简单把输入流理解为“向文件内要写入的数据”,如我想向文本文档写入“HELLO”,那么这个字符串就是输入流。

    输出流:同理,可以把输出流理解为“从文件内读取的数据”,如一个文本文档内有数据“Hello,World”,读取这个文件,那么这个“Hello World”就是输出流。

    利用fileStream类读取数据

    复制代码
    //以只读方式创建FileStream对象
    FileStream fs=new FileStream(@"D:\text.txt",FileMode.OpenOrCreate);
    //得到文件的长度
    long length = fs.Length;
    //创建一个字节数组,大小是文件的长度
    byte[] Buffers=new byte[length];
    //将文件流中的数据读取到字节数组中
    fs.Read(Buffers,0,Buffers.Length);
    //将字节数组中的二进制编译为字符串
    string content = Encoding.Default.GetString(Buffers,0,Buffers.Length);
    //将字符串在提示框中输出
    MessageBox.show(content);
    //关闭文件流
    fs.Close();
    复制代码

    利用fileStream类写入数

    复制代码
    //以只写方式创建FileStream对象
    FileStream fs=new FileStream(@"D:\text.txt",FileMode.OpenOrCreate,FileAccess.Write);
    //创建一个字节数组
    byte[] Buffers;
    //获取传入文件的字符串
    string str="Hello,World";
    //设置一个字节数组大小
    Buffers =new byte[str.length * 2];
    //将字符串转成二进制数据存入字节数组
    Encoding.Default.GetBytes(str,0,str.length,Buffers,0);
    //将字节数组写入文件
    fs.Write(Buffers,0,Buffers.length);
    //关闭文件流
    fs.Close();
    复制代码

     

  • 相关阅读:
    【socket】网卡内部缓冲区、socket缓冲区、滑动窗口
    【java_wxid项目】【第五章】【Spring Cloud Hystrix集成】
    常见的 NoSQL 数据库有哪些?
    MASM汇编器指令——.SETFRAME
    【目标检测】英雄联盟能用YOLOv5实时目标检测了 支持onnx推理
    vite+vue3 + ts 项目搭建——pinia
    软件开发基础【信息系统监理师】
    华为od面试记录
    QT中怎么设置定时器/周期任务/定时触发任务
    Go语言开发(3)变量
  • 原文地址:https://www.cnblogs.com/qianjindelaowu/p/17691201.html