文本文件的读写是程序的常见操作。
这个程序的功能实现文件的拷贝操作,包括了文件的打开、关闭和读写。该程序是按行读入数据文件的内容,然后将其写入到另外一个文件中。
Go语言程序:
// fileio project main.go
package main
import (
"bufio"
"io"
"log"
"os"
"syscall"
)
func main() {
fr, err := os.OpenFile("/home/lin/data.txt", syscall.O_RDONLY, 0)
if err != nil {
log.Fatal(err)
}
defer fr.Close()
fw, err := os.OpenFile("/home/lin/result.txt", syscall.O_CREAT|syscall.O_WRONLY, 0777)
if err != nil {
log.Fatal(err)
}
defer fw.Close()
buf := bufio.NewReader(fr)
for {
line, err := buf.ReadBytes('\n')
fw.Write(line)
if err == io.EOF {
break
} else if err != nil {
log.Fatal(err)
}
}
}
测试文件data.txt(输入文件)的内容:
This is my first file read-write program.
It's just for testing.
程序说明:程序中使用了多个包以及多个库函数,其功能和作用不同,需要仔细体会。