编程学习
分类: 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接口
}
}