概述
这里主要简单介绍了一下在 Go 中,file 的操作。
简单的分为:读,写,其他,三部分
首先先说其他部分
(创建,截取,复制,下载,hash)
我自己定义了一个检查错误的方法,很多地方会用到, 非常简单,如下:
func check(err error){
if err != nil {
panic(err)
}
}
创建
newfile, err := os.Create(writerfilename) // 给定一个文件名称
check(err)
会调用 os 包的 Create 方法,给定一个文件名称即可。
截取
func truncatefile() {
infor, _ := os.Stat(writerfilename) // 可获取文件的信息
fmt.Printf("origin Size %v \n",infor.Size()) // 查看文件大小
err := os.Truncate(writerfilename, 19) // 从头截取到19位
check(err)
infor, _ = os.Stat(writerfilename)
fmt.Printf("changed Size %v",infor.Size())
}
这里主要看文件大小,即可看到文件发生的变化,这里的19,是按照byte
方式计算的。
复制
func copyfile(){
/*
writerfilename: 文件名称
flag: 这里可以指定文件是读还是写入等(可参考下面的资料)
FileMode: 其实是一个权限值 就像 777,666 权限一样
*/
// os.OpenFile(writerfilename, os.O_WRONLY,0666)
originFile, err := os.Open(writerfilename)
check(err)
defer originFile.Close()
newFile, err := os.Create(copy_file)
check(err)
defer newFile.Close()