文件夹及文件相关使用方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | // 判断文件、文件夹是否存在 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 } func Mkdir() { dir := "log" // 创建文件夹 exist, err := PathExists(dir) if err != nil { fmt.Println(err.Error()) } else { if exist { fmt.Println(dir + "文件夹已存在!") } else { // 文件夹名称,权限 err := os.Mkdir(dir, os.ModePerm) if err != nil{ fmt.Println(dir + "文件夹创建失败:", err.Error()) } else { fmt.Println(dir + "文件夹创建成功!") } } } } func RemoveDir() { // 删除文件 dir := "log" exist, err := PathExists(dir) if err != nil { fmt.Println(err.Error()) } else { if exist { // os.RemoveAll 是遍历删除,文件夹及文件均可使用 err := os.RemoveAll(dir) if err != nil { fmt.Println(dir + "删除失败:", err.Error()) } else { fmt.Println(dir + "删除成功!") } } else { fmt.Println(dir + "文件、文件夹不存在!") } } } func Files() { /* ioutil.WriteFile() 打开一个文件,文件不存在就添加一个。先清空文件内容,再写入 ModePerm 0777 */ err := ioutil.WriteFile("log_1.log", []byte("你好" + "\n"), os.ModePerm) if err != nil { fmt.Println(err.Error()) } /* os.OpenFile() 追加内容到文件 O_RDWR 读写模式打开文件 O_APPEND 写操作时将数据附加到文件尾部 O_CREATE 如果不存在将创建一个新文件 ModePerm 0777 */ file, err := os.OpenFile("log_2.log", os.O_RDWR | os.O_CREATE | os.O_APPEND, os.ModePerm) if err != nil { fmt.Println(err.Error()) } else { file.WriteString("你好" + "\n") } // 关闭文件 defer file.Close() } |