文章目录
C#文件的操作
一、文件内容的读跟写
文件的操作是最与我们相关的动作,但是这个动作如何让代码实现呢?
1、创建一个文件流
在C#中需要操作文件需要导入命名空间:System.IO,然后创建一个文件流。
语法
FileStream strem = new FileStream("文件路径", FileMode的打开方式);
File Mode枚举的值
值 | 说明 |
---|---|
Create New | 创建新的文件,如果文件已经存在会报错 |
Create | 创建新文件,文件如果已经存在改写旧文件 |
Open | 打开一个已经存在的文件,如果文件不存在会报错 |
Open Or Create | 文件存在则打开已经存在的文件;文件不存在先创建一个新的文件,再打开 |
Truncate | 文件存在,先把里面的内容删除,然后再往里面写内容;文件不存在,则异常 |
Append | 打开一个已经存在的文件,在最后添加内容如果文件不存在,则异常 |
2、创建阅读器或写入器
2.1 阅读器
语法
StreamReader reader = new StreamReader(文件流);
阅读器的常用方法
方法 | 说明 |
---|---|
Read Line() | 读取文件中的一行 |
Read ToEnd() | 读取到文件的末尾,即读取整个文件 |
Close() | 关闭阅读器 |
2.2 写入器
语法
StreamWriter writer = new StreamWriter(文件流);
写入器的常用方法
方法 | 说明 |
---|---|
Write() | 输出后不换行 |
WriteLine() | 输出后换行 |
Close() | 关闭写入器 |
3、执行读写操作
读取
FileStream file = new FileStream(path, FileMode.Open);
StreamReader reader = new StreamReader(file,Encoding.Default);
content = reader.ReadToEnd();
txtContent.Text = content;
reader.Close();
file.Close();
其中Encoding是为了防止程序乱码而存在的,它指定了编码的格式。
写入
FileStream file = new FileStream(path,FileMode.Create);
StreamWriter stream = new StreamWriter(file);
stream.Write(content);
stream.Close();
file.Close();
MessageBox.Show("写入成功");
4、关闭阅读器/写入器
需要注意的是阅读器/写入器在运行之后是需要关闭的,类似于从连接数据库。
5、关闭文件流
在文件的操作中文件流必须在关闭阅读器/写入器之后,不然程序会运行报错。
二、文件和目录的操作
1、文件的操作
1.1 File(静态)
File常用方法
方法 | 说明 |
---|---|
Exists(“路径”) | 检查指定文件是否存在 |
Copy(“原文件路径”, “新文件路径”) | 将指定路径文件复制到新指定路径中,如果原路径文件不存在则新建一个文件 |
Move(“原文件路径”, “新文件路径”) | 将指定路径文件转移到新指定路径中 |
Delete(“路径”) | 删除指定的文件,文件不存在不报错 |
因为File是静态的类,所有不能new对象。
1.2 File Info(非静态)
语法
FileInfo info = new FileInfo("路径");
File Info属性和方法
属性 | 说明 |
---|---|
Exists | 检查指定文件是否存在 |
Extension | 获取文件的扩展名 |
Name | 获取文件名 |
Full Name | 获取目录或文件的完整目录 |
方法 | 说明 |
Copy To(“新文件”) | 将指定文件复制到新文件中,不允许覆盖 |
Delete(“路径”) | 删除指定的文件,文件不存在不报错 |
Move To( “新文件路径”) | 将指定路径文件转移到新指定路径中 |
因为FileInfo是非静态类所以必须new对象后使用。
2、目录的操作
2.1 Directory(静态)
Directory常用方法
方法 | 说明 |
---|---|
Exists(“路径”) | 检查指定文目录是否存在 |
Copy(“原目录路径”, “新目录路径”) | 将指定路径文件复制到新指定路径中,如果原路径文件不存在则新建一个文件 |
Move(“原目录路径”, “新目录路径”) | 将指定路径目录转移到新指定路径中 |
Delete(“路径”, bool) | 删除指定的目录,如果bool为true则删除其内的目录和文件 |
2.2 Directory Info(非静态)
语法
DirectoryInfo info = new DirectoryInfo("路径");
Directory Info属性和方法
属性 | 说明 |
---|---|
Exists | 检查指定文件是否存在 |
Name | 获取目录名 |
DirectoryInfoParent | 获取父目录名 |
方法 | 说明 |
Creat(“路径”) | 创建目录 |
CreatSubdirectory(“路径”) | 创建子目录 |
3.注意
在操作文件和目录之前必须确定文件和目录是否存在,以及同一路径下文件名的冲突。
三、总结
C#中文件操作是非常简单的,只需要多练习几遍,熟悉了基本的操作就能继续深入的学习。