使用goland怎么恢复已更改的文件

  介绍

这篇文章给大家介绍使用goland怎么恢复已更改的文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

1,查看历史更改文件

点击项目名,右键,选择当地的历史。

使用goland怎么恢复已更改的文件

或点击项目名再点击VXA,选择当地的历史。

使用goland怎么恢复已更改的文件

然后选择显示历史

使用goland怎么恢复已更改的文件

2,恢复历史已更改文件

选择你想要恢复的文件,右键选择恢复,最后就会恢复到原来的位置了。

使用goland怎么恢复已更改的文件

<强>补充:goland文件处理

golang是优秀的软件编程语言,由于golang很好的兼容各个系统,我经常使用golang写工具。

写工具经常会用到文件处理,io操作。

FileInfo接口

在遍历文件夹的时候回经常用到FileInfo接口

type  FileInfo  interface  {   ,名字()string ,,,,,,//,文件名称   ,大小()int64 ,,,,,,,//,文件大小   ,模式()FileMode ,,,,//, file  mode 碎片   ,ModTime (), time.Time //modification 时间   ,IsDir (), bool ,,,,,,,//,是否文件夹   接口,系统(){},,,//,underlying  data  source (还要return  nil)   }

遍历文件

通过ioutil.ReadDir (src),可以读取到当前文件列表

func  ReadDir (src 字符串),{   ,文件,err :=, ioutil.ReadDir (src)   ,if  err  !=, nil  {   fmt.Println才能(err)   ,返回   ,}   ,for  _, file :=, range  files  {   if 才能;file.IsDir (), {//,,,是文件夹   }{其他才能   ,,,,,,,,,,,//,是文件   ,,,,,,,}   ,}   }

遍历文件夹下所有文件

通过filepath。走方法递归读取文件夹和子文件,方便复制整个文件夹内容

func  ReadDeepDir (src 字符串),{   ,err :=, filepath.Walk (src, func(字符串,path  file  os.FileInfo,, err 错误),error  {   if 才能;file ==, nil  {   ,,return 犯错   ,,}   fmt.Println才能(路径)   return 才能;零   ,})   ,if  err  !=, nil  {   fmt.Printf才能(err.Error ())   ,}   }

路径操作相关方法

func  dir (src 字符串),,{   ,//获取路径指向文件夹名称   ,filepath.Base (src)   ,   ,//获取文件所在的路径   ,filepath.Dir (src)   ,   ,//获取文件扩展名   ,filepath.Ext (src)   ,   ,//获取文件名称   ,name :=, strings.Replace (filepath.Base (src) filepath.Ext (src),““, 1)   ,   ,//绝对路径   ,absPath _ :=, filepath.Abs (“”)   ,   ,//相对路径   ,relPath _ :=, filepath.Rel (““,““)   ,   ,//路径拼接   ,filepath.Join (“basepath",“appendpath")   }

文件操作

func 操作(src 字符串),,{   ,//创建文件夹   _=大敌;os.Mkdir (“xxx" os.ModePerm)   ,   ,//删除单个文件,不能删除文件夹=,,_  os.Remove (“xxx")   ,   ,//删除文件夹或者文件=,,_  os.RemoveAll (“xxx")   ,   ,//重命名文件=,,_  os.Rename (“xxx",“qqqq")   }

使用ioutil文件读写

func 相(),,{   ,//读取文件,整个文件读取到内存,不能读取大文件   ,ioutil.ReadFile (“filename")   ,//文件写入,每次都会新创建文件写入所有的内容,所以会覆盖之前的文件   ,ioutil.WriteFile (“filename"[]字节{},os.ModePerm)   }

大文件的读,写相当于一个拷贝功能

func 副本(),{   ,fr, err :=, os.Open (“”)   ,if  err  !=, nil {   fmt.Println才能(“open  err")   ,返回   ,}   ,defer  fr.Close ()   ,   弗兰克-威廉姆斯,大敌;err :=, os.Create (“”)   ,if  err  !=, nil  {   fmt.Println才能(“create  file  error")   ,返回   ,}   ,buf :=,([]字节,1024)   ,for  {   ,,n, err :=, fr.Read (buf)   if 才能;err  !=, nil ,,, err ==, io.EOF  {   ,,fmt.Println(“读完“)   ,,}   _,_=才能fw.Write (buf [n]):   ,}   }

使用goland怎么恢复已更改的文件