如何检查zip条目是否是Go语言中的目录

时间:2014-04-18 15:28:58

标签: directory go zip

我想以下结构中的一些内容将文件标记为目录。 但是我无法找到它的参考。

http://golang.org/pkg/archive/zip/#FileHeader

1 个答案:

答案 0 :(得分:7)

您链接到的zip包的FileHeader类型有.FileInfo()方法,该方法返回os.FileInfo类型,该类型本身有.IsDir()方法。

将所有这些链接起来,您可以判断zip存档中的文件是否是f.FileInfo().IsDir()的目录。

示例:

package main

import (
    "archive/zip"
    "fmt"
)

func main() {
    // Open a zip archive for reading.
    r, err := zip.OpenReader("example.zip")
    if err != nil {
        fmt.Println(err)
    }
    defer r.Close()

    // Iterate through the files in the archive,
    // indicating if it is a directory.
    for _, f := range r.File {
        fmt.Printf("%s is directory? - %v\n", f.Name, f.FileInfo().IsDir())
    }
}