goland 恢复已更改文件的操作


Posted in Golang onApril 28, 2021

1、查看历史更改文件

点击项目名,右键,选择Local History。

goland 恢复已更改文件的操作

或点击项目名再点击VXA,选择Local History。

goland 恢复已更改文件的操作

然后选择Show History

goland 恢复已更改文件的操作

2、恢复历史已更改文件

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

goland 恢复已更改文件的操作

补充:goland文件处理

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

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

FileInfo接口

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

type FileInfo interface {
 Name() string       // 文件名称
 Size() int64        // 文件大小
 Mode() FileMode     // file mode bits
 ModTime() time.Time // modification time
 IsDir() bool        // 是否文件夹
 Sys() interface{}   // underlying data source (can return nil)
}

遍历文件

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

func ReadDir(src string) {
 files, err := ioutil.ReadDir(src)
 if err != nil {
  fmt.Println(err)
  return
 }
 for _, file := range files {
  if file.IsDir() {
   // 是文件夹
  }else{
            // 是文件
        }
 }
}

遍历文件夹下所有文件

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

func ReadDeepDir(src string) {
 err := filepath.Walk(src, func(path string, file os.FileInfo, err error) error {
  if file == nil {
   return err
  }
  fmt.Println(path)
  return nil
 })
 if err != nil {
  fmt.Printf(err.Error())
 }
}

路径操作相关方法

func dir(src string)  {
 // 获取路径指向文件夹名称
 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 operation(src string)  {
 // 创建文件夹
 _= os.Mkdir("xxx",os.ModePerm)
 
 // 删除单个文件,不能删除文件夹
 _ = os.Remove("xxx")
 
 // 删除文件夹或者文件
 _ = os.RemoveAll("xxx")
 
 // 重命名文件
 _ = os.Rename("xxx","qqqq")
}

使用ioutil文件读写

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

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

func copy() {
 fr, err := os.Open("")
 if err != nil{
  fmt.Println("open err")
  return
 }
 defer fr.Close()
 
 fw, err := os.Create("")
 if err != nil {
  fmt.Println("create file error")
  return
 }
 buf := make([]byte, 1024)
 for {
  n, err := fr.Read(buf)
  if err != nil && err == io.EOF {
   fmt.Println("读完")
  }
  _,_=fw.Write(buf[:n])
 }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。如有错误或未考虑完全的地方,望不吝赐教。

Golang 相关文章推荐
Go各时间字符串使用解析
Apr 02 Golang
goland 恢复已更改文件的操作
Apr 28 Golang
golang 接口嵌套实现复用的操作
Apr 29 Golang
golang import自定义包方式
Apr 29 Golang
golang 比较浮点数的大小方式
May 02 Golang
golang switch语句的灵活写法介绍
May 06 Golang
关于golang高并发的实现与注意事项说明
May 08 Golang
再次探讨go实现无限 buffer 的 channel方法
Jun 13 Golang
golang中字符串MD5生成方式总结
Jul 04 Golang
golang生成并解析JSON
Apr 14 Golang
Golang 入门 之url 包
May 04 Golang
Go web入门Go pongo2模板引擎
May 20 Golang
goland 清除所有的默认设置操作
go 原生http web 服务跨域restful api的写法介绍
Apr 27 #Golang
解决Golang中ResponseWriter的一个坑
Apr 27 #Golang
golang在GRPC中设置client的超时时间
golang http使用踩过的坑与填坑指南
Apr 27 #Golang
Golang 实现超大文件读取的两种方法
Apr 27 #Golang
golang中的空slice案例
Apr 27 #Golang
You might like
理解和运用PHP中的多态性[译]
2011/08/02 PHP
Codeigniter实现发送带附件的邮件
2015/03/19 PHP
PHP实现的网站目录扫描索引工具
2016/09/08 PHP
laravel框架实现后台登录、退出功能示例
2019/10/31 PHP
javascript 获取url参数和script标签中获取url参数函数代码
2010/01/22 Javascript
限制文本框输入N个字符的js代码
2010/05/13 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战二)
2013/08/21 Javascript
NODE.JS加密模块CRYPTO常用方法介绍
2014/06/05 Javascript
在Google 地图上实现做的标记相连接
2015/01/05 Javascript
JavaScript的Number对象的toString()方法
2015/12/18 Javascript
jQuery Ajax 全局调用封装实例代码详解
2016/06/02 Javascript
JQuery 进入页面默认给已赋值的复选框打钩
2017/03/23 jQuery
手把手带你封装一个vue component第三方库
2019/02/14 Javascript
仿vue-cli搭建属于自己的脚手架的方法步骤
2019/04/17 Javascript
浅谈laytpl 模板空值显示null的解决方法及简单的js表达式
2019/09/19 Javascript
vuecli项目构建SSR服务端渲染的实现
2020/10/30 Javascript
[01:03]悬念揭晓 11月26日DOTA2完美盛典不见不散
2017/11/23 DOTA
python模拟新浪微博登陆功能(新浪微博爬虫)
2013/12/24 Python
Python实现批量将word转html并将html内容发布至网站的方法
2015/07/14 Python
python处理Excel xlrd的简单使用
2017/09/12 Python
python中不能连接超时的问题及解决方法
2018/06/10 Python
python中pip的使用和修改下载源的方法
2019/07/08 Python
Django接收post前端返回的json格式数据代码实现
2019/07/31 Python
python自动化测试之异常及日志操作实例分析
2019/11/09 Python
详解基于Jupyter notebooks采用sklearn库实现多元回归方程编程
2020/03/25 Python
python matplotlib.pyplot.plot()参数用法
2020/04/14 Python
python中判断数字是否为质数的实例讲解
2020/12/06 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
2021/03/02 Python
佳能英国官方网站:Canon UK
2017/08/08 全球购物
波兰在线香水店:Perfumy.pl
2019/08/12 全球购物
小学爱国卫生月活动总结
2014/06/30 职场文书
2015年学生会部门工作总结
2015/04/21 职场文书
格列夫游记读书笔记
2015/07/01 职场文书
高中政治教学反思
2016/02/23 职场文书
2016社区平安家庭事迹材料
2016/02/26 职场文书
Python函数中的不定长参数相关知识总结
2021/06/24 Python