golang 檔案基本操作
阿新 • • 發佈:2018-11-28
import ( "bufio" "fmt" "io" "os" ) //寫入檔案 func WriteFile(path string) { //新建檔案 f, err := os.Create(path) if err != nil { fmt.Println("err=", err) return } //使用完畢需要關閉檔案 defer f.Close() for i := 0; i < 10; i++ { f.WriteString(fmt.Sprintf("i=%d\n", i)) } } //讀取檔案 func ReadFile(path string) { //開啟檔案 f, err := os.Open(path) if err != nil { fmt.Println("err=", err) return } //關閉檔案 defer f.Close() buf := make([]byte, 1024) if n, err1 := f.Read(buf); err1 != nil && err1 != io.EOF { fmt.Println("err1=", err1) return } else { fmt.Println("buf=", string(buf[:n])) } } //讀取檔案一行 func ReadFileLine(path string) { //開啟檔案 f, err := os.Open(path) if err != nil { fmt.Println("err=", err) return } //關閉檔案 defer f.Close() r := bufio.NewReader(f) for { if buf, err := r.ReadBytes('\n'); err != nil { if err == io.EOF { break } } else { fmt.Println(string(buf)) } } } func main() { path := "./demo.txt" WriteFile(path) ReadFile(path) ReadFileLine(path) }