标签:adl rename 行数据 写入 读取 dir 文件重命名 lse lan
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
}
标签:adl rename 行数据 写入 读取 dir 文件重命名 lse lan
原文地址:https://www.cnblogs.com/ecake/p/9747137.html