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 }