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

相关推荐
Bi8bo74 分钟前
Python编程基础
开发语言·python
im_AMBER2 小时前
java复习 19
java·开发语言
小猫咪怎么会有坏心思呢2 小时前
华为OD机考-异常的打卡记录-字符串(JAVA 2025B卷)
java·开发语言·华为od
泓博2 小时前
KMP(Kotlin Multiplatform)简单动画
android·开发语言·kotlin
芒果快进我嘴里3 小时前
C++打印乘法口诀表
开发语言·c++
3 小时前
Lua基础复习之Lua元表
开发语言·lua
普通网友3 小时前
C# 中委托和事件的深度剖析与应用场景
java·算法·c#
可能是猫猫人3 小时前
【Python打卡Day39】图像数据与显存 @浙大疏锦行
开发语言·python
爬虫程序猿3 小时前
利用 Python 爬虫获取 Amazon 商品详情:实战指南
开发语言·爬虫·python
_w_z_j_3 小时前
C++----剖析stack、queue
开发语言·c++