一、文件读取操作
1.用os读取文件
func main() {
//打开文件
file, err := os.Open("./array.go")
if err != nil {
fmt.Println(err)
}
//函数退出之前关闭文件
defer file.Close()
//读取array.go内容
buf := make([]byte, 512)
len, err := file.Read(buf)
if err != nil {
fmt.Println(err)
}
fmt.Println(len) //读取出来的字节
fmt.Println(string(buf)) //打印内容
}
2.用bufio读取文件
func main() {
//打开文件
file, err := os.Open("./array.go")
if err != nil {
fmt.Println(err)
}
//函数退出之前关闭文件
defer file.Close()
//读取array.go内容
reader := bufio.NewReader(file)
for {
line, _, err := reader.ReadLine()
if err == io.EOF {
return
}
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(line))
}
}
3.用ioutil读取文件
func main() {
ret, err := ioutil.ReadFile("./array.go")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(ret))
}
二、文件写入操作
1.常规写入
func main() {
file, err := os.OpenFile("./test.txt", os.O_APPEND|os.O_CREATE, 0644)
if err != nil {
fmt.Println(err)
}
defer file.Close()
file.Write([]byte("1.Hello world!\n"))
file.WriteString("2.Hello GO!\n")
}
2.用bufio写入文件
func main() {
file, err := os.OpenFile("./test.txt", os.O_APPEND|os.O_CREATE, 0644)
if err != nil {
fmt.Println(err)
}
defer file.Close()
w := bufio.NewWriter(file)
w.Write([]byte("1.Hello world!\n"))
w.WriteString("2.Hello GO!\n")
w.Flush()
}
写到标准输出
func main() {
w := bufio.NewWriter(os.Stdout)
w.Write([]byte("1.Hello world!\n"))
w.WriteString("2.Hello GO!\n")
w.Flush()
}
3.用ioutil写入文件
func main() {
err := ioutil.WriteFile("./test.txt", []byte("1.Hello world!\n"), 0644)
if err != nil {
fmt.Println(err)
return
}
}
181



被折叠的 条评论
为什么被折叠?



