Go文件操作
阿新 • • 發佈:2018-10-30
bits for pri create package else time bool 文件
Go文件操作
go對於文件的操作提供了多個包進行支持,目前學習了這部分,故對該包的使用記錄一下。
package main import ( "fmt" "os" "io" ) func main(){ fi, err := os.Open("main.go") if err != nil{ fmt.Println(err) return } wi, err := os.Create("wo.go") if err != nil{ fmt.Println(err) return } data := make([]byte, 100) for { n, err := fi.Read(data) if err != nil{ if err == io.EOF{ break//已經讀取完了 }else{ fmt.Println(err) } } w, err := wi.Write(data[0:n]) if err != nil{ fmt.Println(err)//出錯了 return } if w != n{ fmt.Println("也是有錯誤的!") return } fmt.Print(string(data[0:n])) } }
獲取文件的屬性
package main
import (
"fmt"
"os"
)
func main(){
fileInfo, err := os.Stat("main.go")
if err != nil{
fmt.Println(err)
}
fmt.Print(fileInfo)
}
其中FileInfo的結構如下:
type FileInfo interface { Name() string // base name of the file 文件名 Size() int64 // length in bytes for regular files; system-dependent for others Mode() FileMode // file mode bits ModTime() time.Time // modification time IsDir() bool // abbreviation for Mode().IsDir() Sys() interface{} // underlying data source (can return nil) }
Go文件操作