C# File.ReadAllBytes()方法: 读取指定文件的所有字节

  • Post category:C#

C#中的File.ReadAllBytes()方法

File.ReadAllBytes()是C#中一个用于读取文件的静态方法,作用是返回读取文件中的所有字节数组,可以在不用打开文件的情况下读取文件中的数据。

使用方法

该方法的使用方法如下:

byte[] bytes = File.ReadAllBytes(文件路径);

在这个方法中,需要传入文件的完整路径作为参数,该方法返回一个字节数组,包含了读取的文件的所有内容,即使文件中包含了非文本数据(例如图片、音频等)也可以用该方法读取。

实例说明

实例1:读取文本文件

例如,我们需要读取一个文本文件中的内容,可以使用如下代码:

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string filePath = @"C:\Users\username\Desktop\sample.txt";

        byte[] bytes = File.ReadAllBytes(filePath);

        string content = System.Text.Encoding.Default.GetString(bytes);

        Console.WriteLine(content);

        Console.ReadKey();
    }
}

以上代码中,首先需要注意的是文件路径的正确性,其次是返回值所得到的字节数组需要用System.Text.Encoding.Default.GetString()方法转化为文本格式,这一点尤其需要注意。

实例2:读取二进制文件

再例如,我们需要读取一个二进制文件中的内容,可以使用如下代码:

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string filePath = @"C:\Users\username\Desktop\sample.bin";

        byte[] bytes = File.ReadAllBytes(filePath);

        foreach(byte b in bytes)
        {
            Console.Write(b.ToString("X2") + " ");
        }

        Console.ReadKey();
    }
}

以上代码中的文件路径需要修改为实际需要使用的路径,它读取的是sample.bin文件的内容,并使用foreach循环输出每个字节的十六进制格式的值。

结论

通过以上的实例说明,我们可以得出结论:File.ReadAllBytes()方法可以让我们方便地读取文件中包含的所有内容,无论是文本内容还是二进制数据都可以用该方法读取,并返回一个字节数组。