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

        一、判断文件是否存在

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

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

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

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

        示例:

using System;
using System.IO;

namespace _20220828_1
{
    class Program
    {
        static void Main(string[] args)
        {
            bool x1 = File.Exists("c:\\Text.txt");
            Console.WriteLine(x1);

            FileInfo x2 = new FileInfo("c:\\Text.txt");
            if (x2.Exists)
            {
                Console.WriteLine("此文件存在");
            }
            else
            {
                Console.WriteLine("此文件不存在");
            }
        }
    }
}
//False
//此文件不存在

        二、创建文件

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

Create(String)
在指定路径中创建或覆盖文件。
public static System.IO.FileStream Create (string path);
//path:要创建的文件的路径及名称。


Create(String, Int32)
在指定路径中创建或覆盖文件,指定缓冲区大小。
public static System.IO.FileStream Create (string path, int bufferSize);
//path:要创建的文件的路径及名称。
//bufferSize:用于读取和写入到文件的已放入缓冲区的字节数。


Create(String, Int32, FileOptions) 	
创建或覆盖指定路径中的文件,指定缓冲区大小和一个描述如何创建或覆盖该文件的选项。
public static System.IO.FileStream Create (string path, int bufferSize, System.IO.FileOptions options);
//path:要创建的文件的路径及名称。
//bufferSize:用于读取和写入到文件的已放入缓冲区的字节数。
//options:FileOptions 值之一,它描述如何创建或覆盖该文件。


Create(String, Int32, FileOptions, FileSecurity) 	
创建或覆盖指定路径中的文件,指定缓冲区大小、描述如何创建或覆盖该文件的选项,以及用于确定文件的访问控制和审核安全的值。
public static System.IO.FileStream Create (string path, int bufferSize, System.IO.FileOptions options, System.Security.AccessControl.FileSecurity fileSecurity);
//path:要创建的文件的路径及名称。
//bufferSize:用于读取和写入到文件的已放入缓冲区的字节数。
//options:FileOptions 值之一,它描述如何创建或覆盖该文件。
//fileSecurity:一个 FileSecurity 对象,用于确定文件的访问控制和审核安全性。

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

public System.IO.FileStream Create ();

        示例:

File类的创建
static void Main(string[] args)
{
    File.Create("D:\\001.txt");
}

FileInfo类的创建
static void Main(string[] args)
{
    FileInfo x1 = new FileInfo("D:\\001.txt");
    x1.Create();
}

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

        三、复制文件

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

Copy(String, String) 将现有文件复制到新文件。 不允许覆盖同名的文件。
Copy(String, String, Boolean) 将现有文件复制到新文件。 允许覆盖同名的文件。
Copy(String, String) 
将现有文件复制到新文件。 不允许覆盖同名的文件。
public static void Copy (string sourceFileName, string destFileName);
参数
sourceFileName    要复制的文件。
destFileName    目标文件的名称。 它不能是一个目录或现有文件。

===================================================================================

Copy(String, String, Boolean) 
将现有文件复制到新文件。 允许覆盖同名的文件。
public static void Copy (string sourceFileName, string destFileName, bool overwrite);
参数
sourceFileName    要复制的文件。
destFileName    目标文件的名称。 不能是目录。
overwrite    如果可以覆盖目标文件,则为 true;否则为 false。

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

CopyTo(String) 将现有文件复制到新文件,不允许覆盖现有文件。
CopyTo(String, Boolean) 将现有文件复制到新文件,允许覆盖现有文件。
CopyTo(String)
将现有文件复制到新文件,不允许覆盖现有文件。
public System.IO.FileInfo CopyTo (string destFileName);
参数
destFileName    要复制到的新文件的名称。
FileInfo(返回值)    带有完全限定路径的新文件。

============================================================

CopyTo(String, Boolean) 
将现有文件复制到新文件,允许覆盖现有文件。
public System.IO.FileInfo CopyTo (string destFileName, bool overwrite);
参数
destFileName    要复制到的新文件的名称。
overwrite    如果允许覆盖现有文件,则为 true;否则为 false。

(返回值)FileInfo为新文件;如果 overwrite 是 true,则为现有文件的覆盖。 如果文件存在且 overwrite 为 false,则引发 IOException。

        示例:

static void Main(string[] args)
{
    //File类
    File.Copy("C:\\001.txt", "D:\\001.txt");
    //FileInfo类
    FileInfo x1 = new FileInfo("C:\\001.txt");
    x1.CopyTo("D:\\001.txt", true);
}

        四、移动文件

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

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

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

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

         示例:

static void Main(string[] args)
{
    //File类
    File.Move("C:\\001.txt", "D:\\001.txt");
    //FileInfo类
    FileInfo x1 = new FileInfo("C:\\001.txt");
    x1.MoveTo("D:\\001.txt");
}

        五、删除文件

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

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

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

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

        示例:

static void Main(string[] args)
{
    //File类
    File.Delete("C:\\001.txt");
    //FileInfo类
    FileInfo x1 = new FileInfo("C:\\001.txt");
    x1.Delete();
}

猜你喜欢

转载自blog.csdn.net/qq_45336030/article/details/126563923