标签:ase 使用 for lse regular bbr others reg 多个
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)
}
标签:ase 使用 for lse regular bbr others reg 多个
原文地址:https://www.cnblogs.com/zzr-stdio/p/9873943.html