1. 程式人生 > >go目錄內檔案讀取

go目錄內檔案讀取

1.檢查目錄是否存在

package main

import (
    "fmt"
    "os"
)

func main() {

    dir := `F:\\code\\go\\src\\brandon\\go-csv\\data`

    if IsDirExist(dir) {
        fmt.Printf("%s exist!", dir)
    } else {
        fmt.Println("dir is not exist!")
    }

}

func IsDirExist(dir string) bool {
    fi, err := os.Stat(dir)

    if
err != nil { return os.IsExist(err) } else { return fi.IsDir() } }

2.讀取指定目錄下的檔案

package main

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

func main() {

    dir := `F:\\code\\go\\src\\brandon\\go-csv\\data`

    b, fileList := readDirectory(dir)
    if b {
        fmt.Printf("fileList size = %d\r\n"
, len(fileList)) printFileList(fileList) } } func IsDirExist(dir string) bool { fi, err := os.Stat(dir) if err != nil { return os.IsExist(err) } else { return fi.IsDir() } } /* * 讀取目錄內的檔案 */ func readDirectory(dir string) (b bool, fl []string) { //檢查目錄是否存在
if !IsDirExist(dir) { return false, nil } files, _ := ioutil.ReadDir(dir) var fileList []string fileList = make([]string, len(files)) i := 0 for _, file := range files { if file.IsDir() { continue } else { fileList[i] = file.Name() i++ } } ret := false if len(fileList) > 0 { ret = true } return ret, fileList } func printFileList(fl []string) { for i := 0; i < len(fl); i++ { fmt.Println(fl[i]) } }