C# File

C# 包含静态 File 类以在物理文件系统上执行 I/O 操作。静态 File 类包括各种实用方法来与任何类型的物理文件进行交互,例如二进制,文本等

使用这个静态 File 类对物理文件执行一些快速操作。由于性能原因,不建议使用 File 类同时对多个文件进行多个操作。在这种情况下使用 FileInfo 类。

File 的重要方法

方法 用法
AppendAllLines 在文件中追加行,然后关闭文件。如果指定的文件不存在,此方法会创建一个文件,将指定的行写入文件,然后关闭文件。
AppendAllText 打开文件,将指定的字符串附加到文件,然后关闭文件。如果文件不存在,此方法会创建一个文件,将指定的字符串写入文件,然后关闭文件。
AppendText 创建一个 StreamWriter,它将 UTF-8 编码的文本附加到现有文件,如果指定的文件不存在,则附加到新文件。
Copy 将现有文件复制到新文件。不允许覆盖同名文件。
Create 创建或覆盖指定路径中的文件。 返回一个FileStream
CreateText 创建或打开用于写入 UTF-8 编码文本的文件。 返回一个StreamWriter
Decrypt 解密当前帐户使用加密方法加密的文件。 (依赖于CSP)
Delete 删除指定的文件。
Encrypt 加密文件,以便只有用于加密文件的帐户才能对其进行解密。 (依赖于CSP)
Exists 确定指定的文件是否存在。
Move 将指定文件移动到新位置,提供指定新文件名的选项。
Open 在指定路径上打开一个具有读/写访问权限的 FileStream。
ReadAllBytes 打开二进制文件,将文件内容读入字节数组,然后关闭文件。
ReadAllLines 打开一个文本文件,读取文件的所有行,然后关闭文件。
ReadAllText 打开一个文本文件,读取文件的所有行,然后关闭文件。
Replace 用另一个文件的内容替换指定文件的内容,删除原始文件,并创建替换文件的备份。
WriteAllBytes 创建一个新文件,将指定的字节数组写入文件,然后关闭文件。如果目标文件已经存在,它会被覆盖。
WriteAllLines 创建一个新文件,将一组字符串写入该文件,然后关闭该文件。
WriteAllText 创建一个新文件,将指定的字符串写入文件,然后关闭文件。如果目标文件已经存在,它会被覆盖。

附加新的字符串

File是在System.IO下面的,所以我们得引用这个命名空间

using System.IO;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            File.AppendAllText(@"C:\DummyFile.txt", "hello");
        }
    }
}

第一个参数是文件的路径。上面的例子是绝对路径。除了这个还有相对路径。在.netcore下面正常是以程序运行所在位置为起点。(web,Api的可能会不一样)。

覆盖文本

使用 File.WriteAllText() 方法将文本写入文件。 请注意,它不会附加文本,而是覆盖现有文本。

  static void Main(string[] args)
        {
            File.WriteAllText(@"C:\DummyFile.txt", "hello");
        }

添加一组字符串

使用 AppendAllLines() 方法去添加一组字符串

static void Main(string[] args)
{
    var dummyLines = new List<string>() 
    {
        "This is first line.",
        "This is second line.",
        "This is third line."
    };
    File.AppendAllLines(@"C:\DummyFile.txt", dummyLines);
}

其它例子

class Program
{
    static void Main(string[] args)
    {
        //判断文件是否存在
        bool isFileExists = File.Exists(@$"C:\absdfs545654{Guid.NewGuid()}.txt"); // returns false

        //把文件 DummyFile.txt 拷到新的位置
        File.Copy(@"C:\DummyFile.txt", @"D:\NewDummyFile.txt");

        //获取最后访问时间
        DateTime lastAccessTime = File.GetLastAccessTime(@"C:\DummyFile.txt");

        //获取最后写入时间
        DateTime lastWriteTime = File.GetLastWriteTime(@"C:\DummyFile.txt");

        // 把文件移到新的位置
        File.Move(@"C:\DummyFile.txt", @"D:\DummyFile.txt");

        //打开文件。后续要用 fs来操作
        FileStream fs = File.Open(@"D:\DummyFile.txt", FileMode.OpenOrCreate);

        //打开文件流
        StreamReader sr = File.OpenText(@"D:\DummyFile.txt");

        //删除文件
        File.Delete(@"C:\DummyFile.txt");
    }
}
上一篇:C# 文件操作
下一篇:C# FileInfo
最近更新的
...