C#文件操作

文件类File

|-----------------|-----------|
| 常用方法 | 介绍 |
| Open() | 打开文件 |
| Create() | 创建文件 |
| Copy() | 复制文件 |
| Delete() | 删除文件 |
| Exists() | 判断文件是否存在 |
| Move() | 移动文件 |
| Replace() | 替换文件 |
| AppendAllText() | 新建并添加文本 |
| ReadAllText() | 打开并读取文本内容 |


1.读取文件

1.创建一个Filestream 对象 (引入System.IO命名空间)

参数1: 文件路径 参数2:枚举,表示对这个文件进行的操作 参数3:枚举,表示对这个文件里面的数据进行操作

cs 复制代码
FileStream file=new FileStream("F:\\素材收集\\举例子\\加油.text",FileMode.OpenOrCreate,FileAccess.Read);

2.创建字节数组,用于存放读到的数据

cs 复制代码
byte[] buffer = new byte[1024 * 1024 * 5];//每次读取5M的数据到内存中,然后保存到字节数组中

3.调取读取方法

参数1:存放数据的字节数组 参数2:开始往字节数组中存放的位置 参数3:每次读取的字节大小

返回值: 本次实际读取的有效字节数,比如:读取一个3.5m的文件,控件虽然是5m空间,实例总返回3.5m

cs 复制代码
int r=file.Read(buffer, 0, buffer.Length);

4.将字节数组中的每一个元素,按照指定的变革解码或指定格式

参数1:需要解码的数组 参数2:从数组中哪个字节开始解码 参数3:解码的长度

cs 复制代码
string str=Encoding.UTF8.GetString(buffer,0,r);
Console.WriteLine(str);

5.关闭数据流

cs 复制代码
 file.Close();

6.释放资源

cs 复制代码
file.Dispose();

7.代码总和

cs 复制代码
FileStream file=new FileStream("F:\\素材收集\\举例子\\加油.text",FileMode.OpenOrCreate,FileAccess.Read);
 byte[] buffer = new byte[1024 * 1024 * 5];
int r=file.Read(buffer, 0, buffer.Length);
 string str=Encoding.UTF8.GetString(buffer,0,r);
 Console.WriteLine(str);
 file.Close();
 file.Dispose();

效果展示

2.写入文件

cs 复制代码
 FileStream file1 = new FileStream("F:\\素材收集\\举例子\\Come-On.text", FileMode.OpenOrCreate, FileAccess.Write);
 string str1 = "10.1-5.1,一定加油";
 byte[] buffers = Encoding.UTF8.GetBytes(str1);
 file1.Write(buffers, 0, buffers.Length);
 Console.WriteLine(str1);

效果展示

驱动器

DriveInfo类的常用字段成员有

DriveFormat(文件系统格式,如NTFS或FAT32)

DriveType(驱动器类型)、Name(驱动器名)

TotalSize(总空间)

TotalFreeSpace(获得驱动器可用空间)

常用的方法成员有GetDrives(获得可用驱动器列表)

cs 复制代码
      DriveInfo[] driveInfos = DriveInfo.GetDrives();
      foreach (DriveInfo driveInfo in driveInfos)
      {
          if(driveInfo.DriveType==DriveType.Fixed && driveInfo.DriveFormat=="NTFS")
          {
              Console.WriteLine($"在{driveInfo.Name}驱动器上还有{driveInfo.AvailableFreeSpace}字节剩余空间");
          }
      }
      Console.ReadLine();

二进制流

1.创建二进制流写入

cs 复制代码
  FileStream file3 = new FileStream("text.txt", FileMode.Create, FileAccess.Write);
  //创建二进制流写入实例
  BinaryWriter bw = new BinaryWriter(file3,Encoding.UTF8);
  bw.Write(Encoding.UTF8.GetBytes("0"));
  bw.Write(0.11);
  bw.Write(true);
  bw.Write(Encoding.UTF8.GetBytes("加油"));
  Console.WriteLine(bw);
  Console.WriteLine(file3);
  bw.Flush();
  bw.Close();
  file3.Close();

2.创建二进制流读取

cs 复制代码
 FileStream file4 = new FileStream("text.txt", FileMode.Open, FileAccess.Read);
 BinaryReader br = new BinaryReader(file4, Encoding.UTF8);
 Console.WriteLine(br.ReadBoolean());
 Console.WriteLine(br.ReadInt32());
 Console.WriteLine(br.ReadString());

File类的常用方法

|---------------|-----------|
| 常用方法 | 介绍 |
| Open() | 打开文件 |
| Create() | 创建文件 |
| Copy() | 复制文件 |
| Delete() | 删除文件 |
| Exists() | 判断文件是否存在 |
| Move() | 移动文件 |
| Replace() | 替换文件 |
| AppendAllText | 新建文件并添加文本 |
| ReadAllText() | 打开并读取文本内容 |

相关推荐
IM1GENIUS28 分钟前
.NET高频技术点(持续更新中)
c#·.net
serve the people32 分钟前
解决osx-arm64平台上conda默认源没有提供 python=3.7 的官方编译版本的问题
开发语言·python·conda
red-fly1 小时前
c#修改ComboBox当前选中项的文本
c#·combobox
柒七爱吃麻辣烫1 小时前
在Linux中安装JDK并且搭建Java环境
java·linux·开发语言
极小狐1 小时前
如何构建容器镜像并将其推送到极狐GitLab容器镜像库?
开发语言·数据库·机器学习·gitlab·ruby
多多*2 小时前
Java反射 八股版
java·开发语言·hive·python·sql·log4j·mybatis
正在走向自律2 小时前
从0到1:Python机器学习实战全攻略(8/10)
开发语言·python·机器学习
FY_20182 小时前
键盘输出希腊字符方法
开发语言
西西弗Sisyphus2 小时前
Python 处理图像并生成 JSONL 元数据文件 - 灵活text版本
开发语言·python
q567315233 小时前
Go语言多线程爬虫与代理IP反爬
开发语言·爬虫·tcp/ip·golang