一、文件读取操作
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
}
}
这篇博客介绍了Go语言中三种不同的文件读取方式:使用os、bufio和ioutil,并展示了如何读取文件内容。同时,也详细讲解了文件的写入操作,包括常规写入、使用bufio和ioutil的写入方法,以及将内容写入到标准输出。通过示例代码,读者可以理解并掌握Go语言文件I/O的基本操作。

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



