读文件
package mainimport ("bufio""fmt""io""io/ioutil""os")func customRead() {fileContent, err := os.Open("./shiwo.txt")if err != nil {fmt.Println("open file error", err)}defer fileContent.Close()var tmp [128]byten, err := fileContent.Read(tmp[:])fmt.Println(string(tmp[:n]))}func BufioRead() {fileContent, err := os.Open("./shiwo.txt")if err != nil {fmt.Println("open file error", err)}defer fileContent.Close()render := bufio.NewReader(fileContent)for {//问题:当读到最后时如果最后不存在换行符会导致最后一行无法读取line, err := render.ReadString('\n')if err == io.EOF {return}if err != nil {fmt.Println("render error ", err)return}fmt.Println(line)}}func IoutilRead() {ret, err := ioutil.ReadFile("./shiwo.txt")if err != nil {fmt.Println("read file error", err)}fmt.Println(string(ret))}func main() {customRead()}
写文件
package mainimport ("fmt""io/ioutil""os")func IoutilWrite() {err := ioutil.WriteFile("./yy.txt", []byte("niwo"), 0664)if err != nil {fmt.Println("writer file failed", err)}}func main() {//O_RDONLY int = syscall.O_RDONLY // open the file read-only.//O_WRONLY int = syscall.O_WRONLY // open the file write-only.//O_RDWR int = syscall.O_RDWR // open the file read-write.//// The remaining values may be or'ed in to control behavior.//O_APPEND int = syscall.O_APPEND // append data to the file when writing.//O_CREATE int = syscall.O_CREAT // create a new file if none exists.//O_EXCL int = syscall.O_EXCL // used with O_CREATE, file must not exist.//O_SYNC int = syscall.O_SYNC // open for synchronous I/O.//O_TRUNC int = syscall.O_TRUNC // truncate regular writable file when opened.//参数说明,OpenFile(文件名,操作模式,文件权限),文件权限只在linux下生效file, err := os.OpenFile("./zz.txt", os.O_CREATE|os.O_APPEND, 0644)if err != nil {fmt.Println("open file failed", err)}file.WriteString("hahaha")file.Close()}
