C#文件的操作

文章目录

  • C#文件的操作
    • 一、文件内容的读跟写
      • 1、创建一个文件流
      • 2、创建阅读器或写入器
        • 2.1 阅读器
        • 2.2 写入器
      • 3、执行读写操作
      • 4、关闭阅读器/写入器
      • 5、关闭文件流
    • 二、文件和目录的操作
      • 1、文件的操作
        • 1.1 File(静态)
        • 1.2 File Info(非静态)
      • 2、目录的操作
        • 2.1 Directory(静态)
        • 2.2 Directory Info(非静态)
      • 3.注意
    • 三、总结

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#中文件操作是非常简单的,只需要多练习几遍,熟悉了基本的操作就能继续深入的学习。

你可能感兴趣的:(C#文件的操作)