golang:IO File 操作
发布时间:2020-12-16 09:33:23 所属栏目:大数据 来源:网络整理
导读:1,创建文件 /*createFile 创建文件 | 参数说明:dir 路径,fileName 文件名 */func createFile(dir,fileName string) (*os.File,error) {var err error//目录不存在则创建if _,err = os.Stat(dir); err != nil {if err = os.MkdirAll(dir,0777); err != nil
1,创建文件 /*createFile 创建文件 | 参数说明:dir 路径,fileName 文件名 */ func createFile(dir,fileName string) (*os.File,error) { var err error //目录不存在则创建 if _,err = os.Stat(dir); err != nil { if err = os.MkdirAll(dir,0777); err != nil { //这里如果是0711权限 可能会导致其它线程,读取文件夹内内容出错 return nil,err } } //创建文件 var newFile *os.File if newFile,err = os.Create(dir + "/" + fileName); err != nil { return nil,err } //创建成功,返回文件指针 return newFile,nil } 2,写入文件 /*writeFile 写入文件 | 参数说明:path 文件路径 ,content 写入内容*/ func writeFile(path string,content string) error { //打开文件 | 如果文件不存在,这里会自动创建文件 f,err := os.OpenFile(path,os.O_RDWR|os.O_APPEND|os.O_CREATE,0666) if err != nil { return err } io.WriteString(f,content) //写入文件 f.Close() //关闭文件 return nil } 3,读取文件 /*readFile 读取文件 | 参数说明:path 文件路径*/ func readFile(path string) []string { //打开文件 f,_ := os.Open(path) br := bufio.NewReader(f) var lines []string for { a,_,c := br.ReadLine() if c == io.EOF { break } lines = append(lines,string(a)) //string(a)为一行数据 } //关闭文件 f.Close() return lines } 4,删除文件? os.Remove(path) 5,判断文件是否存在 //判断文件是否存在 存在返回 true ,不存在返回 false func isExist(path string) bool { _,err := os.Stat(path) return err == nil || os.IsExist(err) } 6,读取文件大小 /*fileSize 读取指定路径的文件尺寸 返回文件大小 | 参数说明:path 文件路径 */ func fileSize(path string) int64 { f,e := os.Stat(path) if e != nil { fmt.Println(e.Error()) return 0 } return f.Size() } ? 7,文件重命名 os.Rename(path,newpath) 8,文件最后修改时间 /*fileModifyTime 文件最后修改时间 */ func fileModifyTime(path string) time.Time { var t time.Time fileInfo,err := os.Stat(path) if err == nil || os.IsExist(err) { t = fileInfo.ModTime() } return t } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |