golang实现目录批量解压文件(适合同一目录下,同一后缀的情况)

本文介绍了如何使用Golang批量解压同一目录下特定后缀的.gz文件。首先通过filepath.Walk获取所需文件,然后利用archive/tar和compress/gzip库进行解压操作。解压.gz文件时不使用tar包,而是借助io.Copy方法。文章强调了根据实际场景灵活运用第三方包的重要性。
摘要由CSDN通过智能技术生成

**场景需求:**获取目录下特定的压缩文件,并进行解压()

**思路解析:**1.先获取目录下符合要求的文件。2.通过循环进行文件解压

一、通过目录获取想要的文件

核心方法filepath.Walk(root string, walkFn WalkFunc) error

//dirpath文件的路径	suffix需要查询文件的后缀
func walkDir(dirPth, suffix string) (files []string, err error) {
   
​    files = make([]string, 0, 30)
​    suffix = strings.ToUpper(suffix)   //忽略后缀匹配的大小写                             
​    err = filepath.Walk(dirPth, func(filename string, fi os.FileInfo, err error) error {
    //遍历目录if fi.IsDir() {
    // 忽略目录return nil}if !strings.Contains(fi.Name(), "sample") {
    //过滤文件名中含有sample的文件if strings.HasSuffix(strings
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值