-
golang 創建文本文件
f, err := os.Create(filenme) defer f.Close() if err != nil { fmr.Println(err.Error()) }else{ _, err = f.Write([]byte("要寫入的文本內容")) checkErr(err) }
-
golang 讀取文本文件
-
f, err := os.Openfile(filename, os.O_RDONLY, 0600) defer f.Close() if err != nil { fmt.Println(err.Error()) }else{ contentByte, err = ioutil.ReadAll(f) checkErr(err) fmt.Println(string(contentByte)) }
-
Openfile用法:
- os.OpenFile(文件名, 打開方式,打開模式)
-
// 打開方式 const( // 只讀模式 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.0_RDWR // open the file read-write // 追加內容 O_APPEND int = syscall.O_APPEND //創建文件,如果文件不存在 O_CREATE int = syscall.O_CREAT // create a new file if none exists // 與創建文件一同使用。文件必須存在 O_EXCL int = syscall.O_EXCL // 打開一個同步的文件流 O_SYNC int = syscall.O_SYNC // open for synchronous i/o // 如果可能 O_TRUNC int = syscall.O_TRUNC )
-
// 打開模式 const ( ModeDir FileMode = 1 << (32 - 1 - iota) ModeAppend // a: append-only 追加模式 ModeExclusive // ModeTemporary // T: temporary file (not backed up) 臨時文件 ModeSymlink // L: symbolic link 象征性的關聯 ModeDevice // D: device file 設備文件 ModeNamedPipe // p: named pipe (FIFO) 命名管道 ModeSocket // S: Unix domain socket Unix 主機 socket ModeSetuid // u: setuid 設置uid ModeSetgid // g: setgid 設置gid ModeCharDevice // c: Unix character device, when ModeDevice is set Unix 字符設備,當設備模式是設置Unix ModeSticky // t: sticky 粘性的 // Mask for the type bits. For regular files, none will be set. bit位遮蓋.不變的文件設置為none ModeType = ModeDir | ModeSymlink | ModeNamedPipe | ModeSocket | ModeDevice ModePerm FileMode = 0777 // Unix permission bits 權限位. )
-
golang 寫入文件文本
-
f, err := os.OpenFile(filename, os.O_WINLY|OS.O_TRUNC, 0600) defer f.Close() if err != nil { fme.Println(err.Error()) }else{ _, err = f.Write([]Byte("要寫入的文本文件")) checkErr(err) }
-