go目录操作

判断文件夹是否存在

Go语言对文件夹和文件的操作比Java简单了许多,判断文件夹是否存在的代码如下 :

func isDirExists(path string) bool {
    fi, err := os.Stat(path) if err != nil {         return os.IsExist(err)
    } else {         return fi.IsDir()
    }

    panic("not reached")
}

复制文件到指定的地方

代码示例如下:

/** 复制文件到指定地方 **/ func CopyFile(src, dest string) (w int64, err error) {
    srcFile, err := os.Open(src)     if err != nil {
        fmt.Println(err)
    }
    defer srcFile.Close()

    desFile, err := os.Create(dest)     if err != nil {
        fmt.Println(err)
    }
    defer desFile.Close()     return io.Copy(desFile, srcFile)
}

复制文件夹到指定的地方

利用了上面的函数:

/**复制某个文件夹的文件到另一个文件夹 **/ func CopyDir(srcDir, destDir string) {      if isDirExists(srcDir) {                 //存在附件文件夹 tmpSrc := strings.TrimSpace(srcDir)
        files, _ := ioutil.ReadDir(tmpSrc)          for _, f := range files {
            CopyFile(srcDir+f.Name(), destDir+f.Name())
        }
    }
}

把字符串数组拼接为字符串

要高效得把数组里所有的字符串拼接为一个字符串,用到了bytes包的功能,代码如下:

result := bytes.Buffer{} for i := end; i < len(lines); i++ {     result.WriteString(lines[i])
}

return result.String()

你可能感兴趣的:(go目录操作)