• 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. }

  • 相关阅读:
    Net 高级调试之十四:线程同步的基础知识和常见的同步原语
    java毕业生设计抑郁症患者博客交流平台计算机源码+系统+mysql+调试部署+lw
    Pads格式的PCB转换成Allegro操作指导
    2023.10.27 常见的 锁策略 详解
    Web前端-Vue2+Vue3基础入门到实战项目-Day5(自定义指令, 插槽, 案例商品列表, 路由入门)
    欧盟商标和马德里商标有什么区别?
    vue+element 树形结构 改成懒加载模式(原理element有),这里只做个人理解笔记
    大数据Flink(八十六):DML:Group 聚合和Over 聚合
    QT--day5
    重塑DeFi:深入了解Solaris Network
  • 原文地址:https://blog.csdn.net/qq_45336030/article/details/126563923