编程学习
分类: Erlang
2015-02-03 13:08:58
package mainimport ("fmt""io/ioutil""os")func main() {/********************用io/ioutil包实现读文件和写入文件**********************************///读取一个文件内容到[]byte实例中b, err := ioutil.ReadFile("test.json")if err != nil {fmt.Println(err)}fmt.Println(b)fmt.Println(string(b))//将一个[]byte实例的内容写入到一个文件中err = ioutil.WriteFile("ioutil.json", b, 0777)if err != nil {fmt.Println(err)}
/************************************用os包实现读文件和写入文件**********************************///读取一个文件内容读到[]byte实例中file, err := os.Open("test.json")if err != nil {fmt.Println("an error has occurred when open file", err)}defer file.Close()b = make([]byte, 100)n, err := file.Read(b)fmt.Println(n, string(b))//将一个[]byte实例的内容写入到一个文件中createFile, _ := os.Create("createfile.json")if err != nil {fmt.Println("an error has occurred when open file", err)}defer file.Close()n, err = createFile.Write(b)if err != nil {fmt.Println(err)}//createFile.WriteString(string(b))fmt.Println(n)
/************************************用bufio包实现带缓冲的具体到行数据的操作**********************************/inFile, err := os.Open("test.txt")if err != nil {fmt.Println(err)}defer inFile.Close()outFile, err := os.Create("11.txt")if err != nil {fmt.Println(err)}defer outFile.Close()reader := bufio.NewReader(inFile)writer := bufio.NewWriter(outFile)eof := falsefor !eof {line, err := reader.ReadString('\n')//每次读取到换行的地方if err == io.EOF {err = nileof = true} else if err != nil {fmt.Println(err)}_, err = writer.WriteString(line)if err != nil {fmt.Println(err)}writer.Flush()//将缓冲区的数据写入到io.Writer接口}}