c# - File类(读取文件)

File类

下图是File类所在的命名空间;且从下边可看出File类是一个静态类。

File静态类的方法

(1)File.Create( string path)

在指定路径中创建或覆盖一个文件(注意:如果指定路径下已经有此文件,那么原有的会被覆盖)

static void Main(string[] args)
{
    File.Create(@"C:\Users\Administrator\Desktop\1.txt");
}

(2)File.Delete( string path)

根据指定路径删除一个文件(注意:此删除是彻底删除,回收站也没有)

static void Main(string[] args)
{
    File.Delete(@"C:\Users\Administrator\Desktop\1.txt");
}

(3)File.Copy( string originPath, string newPath)

根据指定路径复制一个文件;

参数一:要复制的文件路径

参数二:复制出来的新的文件路径及文件名字

注意:

1> 如果要复制的文件不存在,编辑器会报错;

2> 如果参数一和参数二路径及文件名一样,编辑器会报错;

3> 新复制出来的文件与原来文件大小、里边内容都是一样的。

static void Main(string[] args)
{
    File.Copy(@"C:\Users\Administrator\Desktop\debug.log", @"C:\Users\Administrator\Desktop\newDebug.log");
}

(4)File.Exists( string originPath )

判断一个文件是否存在,参数为文件路径,返回值为布尔类型;

static void Main(string[] args)
{
    bool isExists = File.Exists(@"C:\Users\Administrator\Desktop\newDebug.log");
    Console.WriteLine(isExists);
    Console.Read();
}

(5)File.Move()

将指定的文件移到新位置(等于剪切一个文件到新的地方);

参数一:原始文件路径;

参数二:新的文件路径及名字。

注意:

1> 如果新指定的文件路径和文件名存在则编辑器会报错;

static void Main(string[] args)
{
    File.Move(@"C:\Users\Administrator\Desktop\debug.log", @"C:\Users\Administrator\Desktop\newDebug.log");
}

(6)File.ReadAllBytes()

读取一个文件内容,返回的是这个文件内容的字节数组;

static void Main(string[] args)
{
    // 以二进制字节数组的形式给读出来
    byte[] buffer = File.ReadAllBytes(@"C:\Users\Administrator\Desktop\1.txt");
    // 使用下边方法把二进制字节数组转为字符串,我们才能看到真正的内容
    // 下边Encoding后边是一个编码格式,默认使用UTF8即可
    string str = System.Text.Encoding.UTF8.GetString(buffer);
    Console.WriteLine(str);
    Console.ReadLine();
}

(7)File.ReadAllLines(string path,  Encoding.encoding)

读取一个文件的所有行,返回包含文件所有行的字符串数组;

参数一:文件的路径;

参数二:编码格式,如果不指定编码格式,所输出的文件内容很有可能是乱码!!!

 原始文件:

static void Main(string[] args)
{
    string[] str = File.ReadAllLines(@"C:\Users\Administrator\Desktop\1.txt", Encoding.UTF8);
    Console.WriteLine(str.Length);
    for (int i = 0; i < str.Length; i ++)
    {
        Console.WriteLine(str[i]);
    }
    Console.ReadLine();
}

输出结果:

(8)File.ReadAllText(string path,  Encoding.encoding)

读取一个文件的所有行,返回包含文件所有行的字符串;

与ReadAllLines区别在于:返回的结果不同;

补充小常识:

1024byte = 1kb
1024kb = 1M
1024M = 1G
1024G = 1T
1024T = 1PT

猜你喜欢

转载自blog.csdn.net/qq_42778001/article/details/109081166