go 语言学习八 - 文件读写

package main

import (
	"bufio"
	"fmt"
	"io"
	"os"
)

func main() {

	var inFile, outFile *os.File
	var err error

	if inFile, err = os.Open("in.txt"); err != nil {
		fmt.Println(err.Error())
		inFile = os.Stdin
	}
	defer inFile.Close()

	if outFile, err = os.OpenFile("out.txt", os.O_RDWR, 0766); err != nil {
		fmt.Println(err.Error())
		outFile = os.Stdout
	}
	defer outFile.Close()

	reader := bufio.NewReader(inFile)
	writer := bufio.NewWriter(outFile)

	var s string

	for {
		if line, err := reader.ReadString('\n'); err == nil {
			s += line
		} else if err == io.EOF {
			s += line
			break
		} else {
			break
		}
	}

	if _, err := writer.WriteString(s); err == nil {
		writer.Flush()
	} else {
		fmt.Println(err.Error())
	}

}

  

猜你喜欢

转载自www.cnblogs.com/scala/p/9570508.html