目录

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() | 打开并读取文本内容 |

本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
mmmayang1 小时前
Golang 项目平滑重启
开发语言·后端·golang
褚翾澜1 小时前
Go语言的可选链
开发语言·后端·golang
程序员小杰@2 小时前
AI前端组件库Ant DesIgn X
开发语言·前端·人工智能
Aerkui2 小时前
Python高阶函数-eval深入解析
开发语言·python
小诸葛的博客3 小时前
client-go如何监听自定义资源
开发语言·后端·golang
入 梦皆星河3 小时前
go原理刨析之channel
开发语言·后端·golang
Pandaconda3 小时前
【新人系列】Golang 入门(十二):指针和结构体 - 上
开发语言·后端·golang·go·指针·结构体·后端开发
6<73 小时前
【go】类型断言
开发语言·后端·golang
旷野本野4 小时前
【Java】Maven
java·开发语言·maven
我自纵横20234 小时前
事件处理程序
开发语言·前端·javascript·css·json·ecmascript