文本文件的读写是程序的常见操作。
这个程序的功能实现文件的拷贝操作,包括了文件的打开、关闭和读写。该程序是按行读入数据文件的内容,然后将其写入到另外一个文件中。
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(' ') 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.
程序说明:程序中使用了多个包以及多个库函数,其功能和作用不同,需要仔细体会。