golang获取当前目录下的所有文件名和文件大小
要获取当前目录下的所有文件名和文件大小,可以使用Go语言的os和filepath包。
首先,使用os.Open函数打开当前目录。然后,使用os.Readdir函数读取目录中的所有文件和子目录。对于每个文件,可以使用os.Stat函数获取文件的信息,包括文件名和文件大小。
以下是一个示例代码:
package main
import (
"fmt"
"os"
"path/filepath"
)
func main() {
dir, err := os.Open(".")
if err != nil {
fmt.Println("Failed to open directory:", err)
return
}
defer dir.Close()
fileInfos, err := dir.Readdir(-1)
if err != nil {
fmt.Println("Failed to read directory:", err)
return
}
for _, fileInfo := range fileInfos {
if fileInfo.Mode().IsRegular() {
fmt.Println("File name:", fileInfo.Name())
fmt.Println("File size:", fileInfo.Size())
}
}
}
在上面的示例中,os.Open函数打开当前目录,os.Readdir函数读取目录中的所有文件和子目录,并将结果存储在fileInfos切片中。然后,对于每个文件,使用fileInfo.Mode().IsRegular()函数判断是否为普通文件,如果是则打印文件名和文件大小。
注意,上述代码仅获取当前目录下的文件名和文件大小,不包括子目录。如果需要递归地获取所有文件名和文件大小,可以使用filepath.Walk函数。
原文地址: https://www.cveoy.top/t/topic/hOy6 著作权归作者所有。请勿转载和采集!