C#File文件操作类详解(通俗易懂)

时间:2025-03-27 10:56:18

File类位于命名空间,主要用来操作文件如创建文件、删除文件、复制剪贴文件读写文件等。

一般在操作文件之前需要判断文件是否存在,()方法用来判断文件是否存在,如果存在返回true,如果不存在则返回false。

  1. static void Main(string[] args)
  2. {
  3. if ((@"C:\Users\HUAWEI\Desktop\新建文本文档.txt"))
  4. {
  5. ("文件存在");
  6. }
  7. ();
  8. }

一、File类的基本操作:

1)( ) 方法 → 用来创建文件

  1. static void Main(string[] args)
  2. {
  3. (@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt");
  4. ("创建完毕");
  5. ();
  6. }

2) ( ) 方法 → 用来删除文件

  1. static void Main(string[] args)
  2. {
  3. if ((@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt")) //判断文件是否存在
  4. {
  5. (@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt"); //如果文件存在则删除文件
  6. }
  7. ("删除成功");
  8. ();
  9. }

3)( ) 方法 → 复制文件

  1. static void Main(string[] args)
  2. {
  3. if ((@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt")) //判断文件是否存在
  4. {
  5. (@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt", @"C:\Users\HUAWEI\Desktop\我是复制后的文件.txt");
  6. }
  7. ("复制成功");
  8. ();
  9. }

4)File.Move( ) 方法 → 剪贴文件

  1. static void Main(string[] args)
  2. {
  3. if ((@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt")) //判断文件是否存在
  4. {
  5. (@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt", @"C:\Users\HUAWEI\Desktop\我是剪贴过来的文件.txt");
  6. }
  7. ("剪贴成功");
  8. ();
  9. }

二、File类的文件读写操作:

File类的文件读取的常用三种方式——()、()、()

1)() 以字节数组的形式读取全部文件,可以读取任意类型的文件,返回字节数组

  1. static void Main(string[] args)
  2. {
  3. if ((@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt")) //判断文件是否存在
  4. {
  5. byte[] buffer= (@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt"); //读取文件,返回字节数组
  6. string str = Encoding.(buffer); //将字节数组转换成字符串
  7. (str);
  8. }
  9. ("读取成功");
  10. ();
  11. }

2)() 以字符串数组的方式读取所有行,该种方式需要遍历输出!!!(仅能操作文本文件)

  1. static void Main(string[] args)
  2. {
  3. if ((@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt")) //判断文件是否存在
  4. {
  5. string[] str = (@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt");
  6. foreach (string s in str) //遍历输出
  7. {
  8. (s);
  9. }
  10. }
  11. ("读取成功");
  12. ();
  13. }

3)() 读取所有文本,返回字符串,Encoding用来设置编码格式,一般没有乱码的情况下可以省略(仅能操作文本文件)

  1. static void Main(string[] args)
  2. {
  3. if ((@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt")) //判断文件是否存在
  4. {
  5. string str = (@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt",Encoding.UTF8); //读取文本文件中的全部内容
  6. (str);
  7. }
  8. ("读取成功");
  9. ();
  10. }

File类的文件写入同样三种方式与读取的方式一一对应:

()   →    ()

()   →    ()

()    →     ()

1)() 以字节数组的形式写入,写入之前需要将文字转换成字节数组

  1. static void Main(string[] args)
  2. {
  3. if ((@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt")) //判断文件是否存在
  4. {
  5. string s = "我是写入的文档";
  6. byte[] bytes = Encoding.(s);
  7. (@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt", bytes);
  8. }
  9. ("写入成功");
  10. ();
  11. }

2)() 以字符串数组的形式写入

  1. static void Main(string[] args)
  2. {
  3. if ((@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt")) //判断文件是否存在
  4. {
  5. string [] s = {"你好","我是写入的文字" };
  6. (@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt", s);
  7. }
  8. ("写入成功");
  9. ();
  10. }

 3)() 以字符串的形式写入

  1. static void Main(string[] args)
  2. {
  3. if ((@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt")) //判断文件是否存在
  4. {
  5. string s = "我是写入的文档";
  6. (@"C:\Users\HUAWEI\Desktop\我是新建的文档.txt",s);
  7. }
  8. ("写入成功");
  9. ();
  10. }

以上三种写入方式均为覆盖写入!!!