gpt4 book ai didi

vb.net - 在 VB.NET 中只从文件中读取 x 个字节

转载 作者:行者123 更新时间:2023-12-04 04:40:05 26 4
gpt4 key购买 nike

我使用这段代码来读取文件的完整十六进制:

Dim bytes As Byte() = IO.File.ReadAllBytes(OpenFileDialog1.FileName)
Dim hex As String() = Array.ConvertAll(bytes, Function(b) b.ToString("X2"))

我可以只读取前 X 个字节并将其转换为十六进制吗?

谢谢,

最佳答案

在 .NET 中有很多方法可以从文件中获取字节。一种方法是:

Dim arraySizeMinusOne = 5
Dim buffer() As Byte = New Byte(arraySizeMinusOne) {}
Using fs As New FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.None)
fs.Read(buffer, 0, buffer.Length)
End Using

arraySizeMinusOne 是数组的最大索引 - 因此设置为 5 意味着您将获得 6 个字节(索引 0 到 5)。

这是一种流行的读取大文件的方式,一次一个 block 。通常您会将缓冲区设置为一个合理的大小,例如 1024 或 4096,然后读取那么多字节,对它们执行一些操作(例如写入不同的流),然后继续处理下一个字节。这类似于您在处理文本文件时使用 StreamReader 执行的操作。

关于vb.net - 在 VB.NET 中只从文件中读取 x 个字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19013640/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com