基本上我正在使用流阅读器将文件中的所有字节读入字节数组。
我声明的数组如下所示:byte[] array = new byte[256];
数组256的大小可以从文件中读取整个字节吗?说一个文件有 500 个字节而不是 256 个字节?
或者数组中的每个元素的大小为 256 字节?
基本上我正在使用流阅读器将文件中的所有字节读入字节数组。
我声明的数组如下所示:byte[] array = new byte[256];
数组256的大小可以从文件中读取整个字节吗?说一个文件有 500 个字节而不是 256 个字节?
或者数组中的每个元素的大小为 256 字节?
只需使用
byte[] byteData = System.IO.File.ReadAllBytes(fileName);
然后您可以通过查看byteData.Length
属性来了解文件的长度。
您可以File.ReadAllBytes
改用:
byte[] fileBytes = File.ReadAllBytes(path);
或者,如果您只想知道大小,使用FileInfo
对象:
FileInfo f = new FileInfo(path);
long s1 = f.Length;
编辑:如果你想“以经典的方式”评论:
byte[] array;
using (FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read))
{
int num = 0;
long length = fileStream.Length;
if (length > 2147483647L)
{
throw new ArgumentException("File is greater than 2GB, hence it is too large!", "path");
}
int i = (int)length;
array = new byte[i];
while (i > 0)
{
int num2 = fileStream.Read(array, num, i);
num += num2;
i -= num2;
}
}
(通过反映ILSpy
)