C#如何控制读取ReadStream流的字节数组的大小和文件本身大小一样,然后获取整个文件的字节数组
时间: 2023-12-06 22:44:33 浏览: 147
可以使用 FileStream 类来读取文件并将其转换为字节数组。首先,需要获取文件的大小,然后创建一个合适大小的字节数组,并将文件数据读入该数组。
以下是一个示例代码:
```csharp
using System.IO;
// 获取文件大小
FileInfo fileInfo = new FileInfo(filePath);
long fileSize = fileInfo.Length;
// 创建字节数组
byte[] buffer = new byte[fileSize];
// 打开文件流
using (FileStream fs = new FileStream(filePath, FileMode.Open))
{
int bytesRead = 0;
int offset = 0;
// 循环读取文件流
while ((bytesRead = fs.Read(buffer, offset, buffer.Length - offset)) > 0)
{
// 更新偏移量
offset += bytesRead;
// 如果已经读取了整个文件,则退出循环
if (offset == buffer.Length)
{
break;
}
}
}
// buffer 数组现在包含整个文件的数据
```
在这个示例中,我们首先使用 FileInfo 类获取文件大小。然后,我们创建一个与文件大小相同的字节数组,并使用 FileStream 类打开文件流。在循环中,我们使用 Read 方法从文件流中读取数据,并将其存储在字节数组中。最后,我们关闭文件流,字节数组现在包含整个文件的数据。
阅读全文