golang使用SQLite数据库对指定扩展名文件进行批量加密(六、获取目录下指定扩展名文件)

package main

import (
	"fmt"
	"io/ioutil"
	"strings"
)

// 传入扩展名列表,返回指定扩展名的文件名列表
func GetFileNames(expNameList []string) []string {
	var fileNameList []string                       // 文件名列表
	files, err := ioutil.ReadDir("./")              // 读取目录下所有文件
	if err != nil {
		fmt.Println("目录错误!")
	}
	for _, file := range files {                       // 循环遍历文件名
		if !file.IsDir() {                             // 不是目录,是文件
			fileName := file.Name()                    // 获取文件名
			fileNames := strings.Split(fileName, ".")  // 分割文件名与扩展名
			expName := fileNames[len(fileNames)-1]     // 获取文件扩展名
			for _, exp := range expNameList {          // 循环遍历扩展名列表
				if strings.EqualFold(exp, expName) {   // 文件扩展名在扩展名列表中
                    // 将文件名添加到文件名列表
					fileNameList = append(fileNameList, fileName) 
					break                               // 已经符合,退出内层循环
				}
			}
		}
	}
	return fileNameList          // 返回文件名列表
}

func main() {
	var expNameList []string     // 扩展名列表
	var expName string           // 用于输入单个扩展名
	for {                        // 循环输入多个扩展名
		fmt.Print("\n请输入一个扩展名后回车(“11” 完成输入):")
		fmt.Scanln(&expName)     // 输入扩展名
		if expName == "11" {     // 输入11完成扩展名输入
			break
		}
		expNameList = append(expNameList, expName) // 将扩展名添加到扩展名列表
		fmt.Print("您输入的扩展名为:")
		for _, exp := range expNameList {          // 显示输入的扩展名
			fmt.Print(exp, "    ")   
		}
	}

	fileNameList := GetFileNames(expNameList)
	fmt.Println("\n显示所有文件名:")
	for _, fileName := range fileNameList {        // 显示符合条件的文件名
		fmt.Print(fileName, "    ")
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值