go语言-文件夹复制
来源:互联网 发布:手机淘宝店标制作教程 编辑:程序博客网 时间:2024/05/29 07:28
go语言-文件夹复制
package mainimport (//"flag""fmt""io""os""path/filepath""strings")func main() {//flag.Parse()//root := flag.Arg(0)//getFilelist("E:/STUDY")copyDir("E:\\STUDY", "E:\\abc")//w, err := CopyFile("E:/filecopy.go", "e:/test.go")//if err != nil {//fmt.Println(err.Error())//}//fmt.Println(w)}func copyDir(src string, dest string) {src_original := srcerr := filepath.Walk(src, func(src string, f os.FileInfo, err error) error {if f == nil {return err}if f.IsDir() {//fmt.Println(f.Name())//copyDir(f.Name(), dest+"/"+f.Name())} else {fmt.Println(src)fmt.Println(src_original)fmt.Println(dest)dest_new := strings.Replace(src, src_original, dest, -1)fmt.Println(dest_new)fmt.Println("CopyFile:" + src + " to " + dest_new)CopyFile(src, dest_new)}//println(path)return nil})if err != nil {fmt.Printf("filepath.Walk() returned %v\n", err)}}//egodic directoriesfunc getFilelist(path string) {err := filepath.Walk(path, func(path string, f os.FileInfo, err error) error {if f == nil {return err}if f.IsDir() {return nil}println(path)return nil})if err != nil {fmt.Printf("filepath.Walk() returned %v\n", err)}}func PathExists(path string) (bool, error) {_, err := os.Stat(path)if err == nil {return true, nil}if os.IsNotExist(err) {return false, nil}return false, err}//copy filefunc CopyFile(src, dst string) (w int64, err error) {srcFile, err := os.Open(src)if err != nil {fmt.Println(err.Error())return}defer srcFile.Close()fmt.Println("dst:" + dst)dst_slices := strings.Split(dst, "\\")dst_slices_len := len(dst_slices)dest_dir := ""for i := 0; i < dst_slices_len-1; i++ {dest_dir = dest_dir + dst_slices[i] + "\\"}//dest_dir := getParentDirectory(dst)fmt.Println("dest_dir:" + dest_dir)b, err := PathExists(dest_dir)if b == false {err := os.Mkdir(dest_dir, os.ModePerm) //在当前目录下生成md目录if err != nil {fmt.Println(err)}}dstFile, err := os.Create(dst)if err != nil {fmt.Println(err.Error())return}defer dstFile.Close()return io.Copy(dstFile, srcFile)}
0 0
- go语言-文件夹复制
- go语言之监控文件夹
- Go语言(遍历文件夹)
- 文件夹的复制----c语言实现
- java语言实现文件夹的复制
- 使用Go语言完成文件夹的MD5计算
- go语言中对文件和文件夹的基本操作
- go语言,切片研究,容量,长度,复制,追加
- 文件夹 复制
- 复制文件夹
- 复制文件夹
- 文件夹复制
- 文件夹复制
- 文件夹复制
- 复制文件夹
- 【Go】Go语言初学
- C语言写递归复制文件夹和文件
- 复制文件夹或文件夹
- Z-26 Two names' abbreviations
- hadoop之hdfs和yarn
- Java中标准输入操作的几点总结
- 关于Activity之间传递数据的6种方式
- 1483 区间价值
- go语言-文件夹复制
- Spring MVC 配置和实例
- Java实现图片验证码
- 安装jenkins
- CodeForces 106C 【DP】
- 《ACM程序设计》书中题目
- 在Spring Boot中使用Spring-data-jpa实现分页查询
- hdu 2112 HDU Today(floyd 算法)
- Dubbox 编译