• C# 第七章『I/O数据流』◆第3节:File类、FileInfo类(小例)


            一、判断文件是否存在

            File类语法格式如下:File.Exists(String) 方法

    1. File类的Exists方法
    2. public static bool Exists (string path);

             FileInfo类的语法格式如下:FileInfo.Exists 属性

    1. FileInfo类的Exists属性
    2. public override bool Exists { get; }

            示例:

    1. using System;
    2. using System.IO;
    3. namespace _20220828_1
    4. {
    5. class Program
    6. {
    7. static void Main(string[] args)
    8. {
    9. bool x1 = File.Exists("c:\\Text.txt");
    10. Console.WriteLine(x1);
    11. FileInfo x2 = new FileInfo("c:\\Text.txt");
    12. if (x2.Exists)
    13. {
    14. Console.WriteLine("此文件存在");
    15. }
    16. else
    17. {
    18. Console.WriteLine("此文件不存在");
    19. }
    20. }
    21. }
    22. }
    23. //False
    24. //此文件不存在

            二、创建文件

            File类的语法格式如下:File.Create 方法

    1. Create(String)
    2. 在指定路径中创建或覆盖文件。
    3. public static System.IO.FileStream Create (string path);
    4. //path:要创建的文件的路径及名称。
    5. Create(String, Int32)
    6. 在指定路径中创建或覆盖文件,指定缓冲区大小。
    7. public static System.IO.FileStream Create (string path, int bufferSize);
    8. //path:要创建的文件的路径及名称。
    9. //bufferSize:用于读取和写入到文件的已放入缓冲区的字节数。
    10. Create(String, Int32, FileOptions)
    11. 创建或覆盖指定路径中的文件,指定缓冲区大小和一个描述如何创建或覆盖该文件的选项。
    12. public static System.IO.FileStream Create (string path, int bufferSize, System.IO.FileOptions options);
    13. //path:要创建的文件的路径及名称。
    14. //bufferSize:用于读取和写入到文件的已放入缓冲区的字节数。
    15. //options:FileOptions 值之一,它描述如何创建或覆盖该文件。
    16. Create(String, Int32, FileOptions, FileSecurity)
    17. 创建或覆盖指定路径中的文件,指定缓冲区大小、描述如何创建或覆盖该文件的选项,以及用于确定文件的访问控制和审核安全的值。
    18. public static System.IO.FileStream Create (string path, int bufferSize, System.IO.FileOptions options, System.Security.AccessControl.FileSecurity fileSecurity);
    19. //path:要创建的文件的路径及名称。
    20. //bufferSize:用于读取和写入到文件的已放入缓冲区的字节数。
    21. //options:FileOptions 值之一,它描述如何创建或覆盖该文件。
    22. //fileSecurity:一个 FileSecurity 对象,用于确定文件的访问控制和审核安全性。

            FileInfo类的语法格式如下:FileInfo.Create 方法

    public System.IO.FileStream Create ();

            示例:

    1. File类的创建
    2. static void Main(string[] args)
    3. {
    4. File.Create("D:\\001.txt");
    5. }
    6. FileInfo类的创建
    7. static void Main(string[] args)
    8. {
    9. FileInfo x1 = new FileInfo("D:\\001.txt");
    10. x1.Create();
    11. }

            备注:如果在创建文件时,已有原文件,则不会覆盖原文件。在使用File类和FileInfo类创建文本文件时,其默认的字符编码为UTF-8;而在Windows环境中手动创建文本文件时,其字符编码为ANSI。

            三、复制文件

            File类的语法格式如下:File.Copy 方法

    Copy(String, String)将现有文件复制到新文件。 不允许覆盖同名的文件。
    Copy(String, String, Boolean)将现有文件复制到新文件。 允许覆盖同名的文件。
    1. Copy(String, String)
    2. 将现有文件复制到新文件。 不允许覆盖同名的文件。
    3. public static void Copy (string sourceFileName, string destFileName);
    4. 参数
    5. sourceFileName 要复制的文件。
    6. destFileName 目标文件的名称。 它不能是一个目录或现有文件。
    7. ===================================================================================
    8. Copy(String, String, Boolean)
    9. 将现有文件复制到新文件。 允许覆盖同名的文件。
    10. public static void Copy (string sourceFileName, string destFileName, bool overwrite);
    11. 参数
    12. sourceFileName 要复制的文件。
    13. destFileName 目标文件的名称。 不能是目录。
    14. overwrite 如果可以覆盖目标文件,则为 true;否则为 false

            FileInfo类的语法格式如下:FileInfo.CopyTo 方法

    CopyTo(String)将现有文件复制到新文件,不允许覆盖现有文件。
    CopyTo(String, Boolean)将现有文件复制到新文件,允许覆盖现有文件。
    1. CopyTo(String)
    2. 将现有文件复制到新文件,不允许覆盖现有文件。
    3. public System.IO.FileInfo CopyTo (string destFileName);
    4. 参数
    5. destFileName 要复制到的新文件的名称。
    6. FileInfo(返回值) 带有完全限定路径的新文件。
    7. ============================================================
    8. CopyTo(String, Boolean)
    9. 将现有文件复制到新文件,允许覆盖现有文件。
    10. public System.IO.FileInfo CopyTo (string destFileName, bool overwrite);
    11. 参数
    12. destFileName 要复制到的新文件的名称。
    13. overwrite 如果允许覆盖现有文件,则为 true;否则为 false
    14. (返回值)FileInfo为新文件;如果 overwrite 是 true,则为现有文件的覆盖。 如果文件存在且 overwrite 为 false,则引发 IOException。

            示例:

    1. static void Main(string[] args)
    2. {
    3. //File类
    4. File.Copy("C:\\001.txt", "D:\\001.txt");
    5. //FileInfo类
    6. FileInfo x1 = new FileInfo("C:\\001.txt");
    7. x1.CopyTo("D:\\001.txt", true);
    8. }

            四、移动文件

             File类的语法格式如下:File.Move 方法

    Move(String, String)将指定文件移到新位置,提供要指定新文件名的选项。
    1. 将指定文件移到新位置,提供要指定新文件名的选项。
    2. public static void Move (string sourceFileName, string destFileName);
    3. 参数
    4. sourceFileName 要移动的文件的名称。 可以包括相对或绝对路径。
    5. destFileName 文件的新路径和名称。

            FileInfo类的语法格式如下:FileInfo.MoveTo 方法

    MoveTo(String)将指定文件移到新位置,提供要指定新文件名的选项。
    1. 将指定文件移到新位置,提供要指定新文件名的选项。
    2. public void MoveTo (string destFileName);
    3. 参数
    4. destFileName 可以指定不同的文件名。

             示例:

    1. static void Main(string[] args)
    2. {
    3. //File类
    4. File.Move("C:\\001.txt", "D:\\001.txt");
    5. //FileInfo类
    6. FileInfo x1 = new FileInfo("C:\\001.txt");
    7. x1.MoveTo("D:\\001.txt");
    8. }

            五、删除文件

            File类的语法格式如下:File.Delete(String) 方法

    1. 删除指定的文件。
    2. public static void Delete (string path);
    3. 参数
    4. path 要删除的文件的名称。 不支持通配符。

            FileInfo类的语法格式如下:FileInfo.Delete 方法

    1. 永久删除文件。
    2. public override void Delete ();

            示例:

    1. static void Main(string[] args)
    2. {
    3. //File类
    4. File.Delete("C:\\001.txt");
    5. //FileInfo类
    6. FileInfo x1 = new FileInfo("C:\\001.txt");
    7. x1.Delete();
    8. }

  • 相关阅读:
    @软考考生,这份软考高分攻略你须知道
    了解Web3,读这篇就够了
    docker部署MinIO集群
    Fabric.js 设置容器类名要注意这几点
    MySQL:函数盘点
    10.Xaml ListBox控件
    求最大公约(因)数
    gin框架教程笔记
    小程序框架接口-getApp
    YOLOv7独家原创改进:最新原创WIoU_NMS改进点,改进有效可以直接当做自己的原创改进点来写,提升网络模型性能精度
  • 原文地址:https://blog.csdn.net/qq_45336030/article/details/126563923