文件是什么?
文件是永久存储在磁盘等介质上的一组数据,每文件都有其唯一的文件名,操作系统通过唯一的文件名对文件进行管理。
一、System.IO模型
在.net中的System.IO(文件操作类库)模型提供了很多针对文件的、文件夹的操作,以流的方式对各种数据文件进行访问。
System.IO中包含的各种类,可用于文件的创建、读/写、复制、移动和删除等操作。
System.IO命名空间中常用到的类
类 | 说明 |
---|---|
Directory | 用于创建、移动目录和子目录,即文件夹 |
File | 用于创建、复制、删除、移动和打开文件 |
FileStream | 文件字节流,对文进行读取、写入、打开和关闭 |
StreamWrite | 文本文件数据写入 |
StreamReader | 文本文件数据读取 |
… | … |
当然还有很多其它的,以上只列举几个平时我经常用到的。
1、Directory类
Directory类提供了对文件夹的各种操作方法
方法 | 说明 | 使用 |
---|---|---|
CreateDirectory | 创建所有目录或子目录 | Directory.CreateDirectory(@“f:\new_directory”) |
Delete | 从指定路径删除目录 | Directory.Delete(@“f:\new_directory”,true) true,将删除整个目录;false,目录为空才删除 |
Exists | 判断文件夹是否存在,返回布尔类型 | if (Directory.Exists(@“f:\new_directory”)) |
Move | 移动文件夹的位置 | Directory.Move() |
GetFiles | 返回指定目录中的所有文件名称 | Directory.GetFiles() |
GetDirectories | 返回指定目录中子目录的名称 | Directory.GetDirectories() |
GetCreationTime | 返回指定目录的创建时间 | Directory.GetCreationTime() |
… | … | … |
2、File类
Directory类提供了对文件的各种操作方法,协助创建FileStream类
方法 | 说明 | 使用 |
---|---|---|
Copy | 将现有文件复制到新文件中 | File.Copy(@“f:\new_directoty\1.txt”,@“f:\new_directory\2.txt”) |
Create | 创建新的文件 | File.Create(@“f:\new_directory”) |
Delete | 从指定路径删除文件 | File.Delete(@“f:\new_directory”) |
Exist | 判断文件是否存在,返回布尔类型 | if (File.Exists(@“f:\new_directory”)) |
Move | 移动文件的位置,并提供指定新文件名 | File.Move(@“f:\new_directory\1.txt”,@“f:\two_directory\1.txt”) |
Open | 打开指定路径上的FileStream | File.Open(@“f:\new_directory\1.txt”,FileMode.Append) |
OpenRead | 打开现有文件进行读取 | File.OpenRead(@“f:\new_directory\1.txt”) |
OpenWrite | 打开现有文件进行写入 | File.OpenWrite(@“f:\new_directory\1.txt”) |
… | … | … |
3、FileStream类
FileStream类产生文件流,对文件进行读取、写入、打开和关闭等操作。其数据是字节流,只能进行字节的读写。
方法 | 说明 |
---|---|
Close? | 关闭当前文件流,并释放相关资源 |
Flush | 清除文件流的所有缓冲区 |
Lock | 防止其它进程更改FileStream |
Read | 从流中读取数据,返回字节数组 |
Seek | 将流当前的位置设置为定值 |
Write | 使用从缓冲区读取的数据将字节写入该流 |
… | … |