io读写:
1,打开文件
2,进行操作
3,关闭文件
io读:(ps: 示例切片长度小,读取汉字的话,有时候会出现乱码,一般定义为1024的倍数)
1 package main 2 3 import ( 4 "fmt" 5 "io" 6 "os" 7 ) 8 9 func main() { 10 filename1 := "C:\\Users\\fcl18\\Desktop\\发言.txt" 11 file, err := os.Open(filename1) 12 if err != nil { 13 fmt.Println("err", err) 14 return 15 } 16 // 关闭文件 17 defer file.Close() 18 19 //读取数据 20 //创建长度为4容量为4的切片 21 bs := make([]byte, 4, 4) 22 /* 23 //第一次读取 24 n, err := file.Read(bs) 25 fmt.Println(err) 26 fmt.Println(n) 27 fmt.Println(bs) 28 fmt.Println(string(bs)) 29 //第二次读取 30 n2, err2 := file.Read(bs) 31 fmt.Println(err2) 32 fmt.Println(n2) 33 fmt.Println(bs) 34 fmt.Println(string(bs)) 35 */ 36 37 n := -1 38 for { 39 n, err = file.Read(bs) 40 if n == 0 || err == io.EOF { 41 fmt.Println("读取完毕") 42 break 43 } 44 fmt.Println(string(bs[:n])) 45 } 46 }
io写:
1 package main 2 3 import ( 4 "fmt" 5 "log" 6 "os" 7 ) 8 9 func main() { 10 filename1 := "C:\\Users\\fcl18\\Desktop\\ab.txt" 11 // 没有文件的话自动创建文件 12 // os.O_APPEND每次都从最后写入文件,不加的话每次都会从开头写,已有数据的话会被覆盖 13 file, err := os.OpenFile(filename1, os.O_CREATE|os.O_WRONLY|os.O_APPEND, os.ModePerm) 14 if err != nil { 15 fmt.Println("err", err) 16 return 17 } 18 // 关闭文件 19 defer file.Close() 20 21 //写出数据 每次都是从开头写 22 bs := []byte{65, 66, 67, 68, 69, 70} //ABCDEF 23 n, err := file.Write(bs) 24 fmt.Println(n) 25 HandleErr(err) 26 27 // 直接写字符串 28 n1, err1 := file.WriteString("Hello World") 29 fmt.Println(n1) 30 HandleErr(err1) 31 } 32 33 func HandleErr(err error) { 34 if err != nil { 35 log.Fatal(err) 36 } 37 }
凑字数
凑字数凑字数
凑字数凑字数凑字数
凑字数凑字数凑字数凑字数
标签:file,err,os,fmt,Println,io,bs,Go,入坑 From: https://www.cnblogs.com/zlnfcl/p/16791138.html