gpt4 book ai didi

file - 有效地从文件中读取前两个字节 - Golang

转载 作者:IT王子 更新时间:2023-10-29 00:40:12 24 4
gpt4 key购买 nike

我正在尝试找到一种使用 Go 从文件中读取前两个字节的好方法。

我的当前目录中有一些 .zip 文件,与其他文件混合在一起。

我想遍历目录中的所有文件并检查前两个字节是否包含正确的 .zip 标识符,即 50 4B

使用标准库而无需读取整个文件的好方法是什么?

通过 io 包中的可用函数,我设法找到了:

func LimitReader(r Reader, n int64) Reader

这似乎符合我的描述,它从 Reader(如何获得 Reader?)读取,但在 n 字节后停止。由于我是 Go 的新手,所以我不确定如何去做。

最佳答案

您可以通过打开文件获得初始读者。对于 2 个字节,我不会使用 LimitReader。只需使用 io.ReadFull 读取 2 个字节更容易。

r, err := os.Open(file)
if err != nil {
return err
}

defer r.Close()

var header [2]byte
n, err := io.ReadFull(r, header[:])
if err != nil {
return err
}

关于file - 有效地从文件中读取前两个字节 - Golang,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42192628/

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