一、判断文件是否存在
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();
}