判断文件夹是否存在
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()