Go语言之文件
1 package main 2 3 import ( 4 "fmt" 5 "os" 6 ) 7 8 func main() { 9 filename := "./main.txt" 10 _, err := os.Stat(filename) 11 //判断文件是否存在如果不存在就创建文件 12 if os.IsNotExist(err) == true { 13 fmt.Println("文件不存在") 14 _, err = os.Create(filename) 15 if err != nil { 16 fmt.Printf("文件创建失败", err) 17 return 18 } else { 19 fmt.Println("文件创建成功") 20 } 21 } 22 //OpenFile是一个更一般性的文件打开函数,大多数调用者都应用Open或Create代替本函数。它会使用指定的选项(如O_RDONLY等)、 23 // 指定的模式(如0666等)打开指定名称的文件。 24 file, err := os.OpenFile(filename, os.O_RDWR, 0666) 25 if err != nil { 26 fmt.Println(err) 27 return 28 } 29 //关闭文件 30 defer file.Close() 31 //直接写入字符串 32 //_, err = file.WriteString("aaa") 33 //if err != nil { 34 // fmt.Printf("文件写入失败,错误是:", err) 35 //} 36 //读取文件中的内容 37 var tmp = make([]byte, 128) 38 n, err := file.Read(tmp) 39 if err != nil { 40 fmt.Printf("读取失败,错误是:", err) 41 } 42 fmt.Println(string(tmp[:n])) 43 /* 44 可以使用ioutil进行对文件的整个读取和写入 45 content, err := ioutil.ReadFile("./main.go") 46 ------------------------------------------------------- 47 str := "hello 沙河" 48 err := ioutil.WriteFile("./xx.txt", []byte(str), 0666) 49 50 */ 51 }