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语言map与string的相互转换的实现
Apr 07 Golang
Go语言使用select{}阻塞main函数介绍
Apr 25 Golang
go原生库的中bytes.Buffer用法
Apr 25 Golang
golang正则之命名分组方式
Apr 25 Golang
golang中的空slice案例
Apr 27 Golang
golang gopm get -g -v 无法获取第三方库的解决方案
May 05 Golang
浅谈golang package中init方法的多处定义及运行顺序问题
May 06 Golang
解决golang 关于全局变量的坑
May 06 Golang
golang 实用库gotable的具体使用
Jul 01 Golang
Go语言空白表示符_的实例用法
Jul 04 Golang
Go语言读取txt文档的操作方法
Jan 22 Golang
Go调用Rust方法及外部函数接口前置
Jun 14 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适配器模式介绍
2012/08/14 PHP
php中判断数组是一维,二维,还是多维的解决方法
2013/05/04 PHP
php实现利用phpexcel导出数据
2013/08/24 PHP
PHP面向对象之里氏替换原则简单示例
2018/04/08 PHP
围观tangram js库
2010/12/28 Javascript
web css实现整站样式互相切换
2013/10/29 Javascript
JS刷新当前页面的几种方法总结
2013/12/24 Javascript
推荐6款基于jQuery实现图片效果插件
2014/12/07 Javascript
js控制网页背景音乐播放与停止的方法
2015/02/06 Javascript
JSONP之我见
2015/03/24 Javascript
JavaScript实现页面跳转的几种常用方式
2015/11/28 Javascript
AngularJS 中的事件详解
2016/07/28 Javascript
JS对象序列化成json数据和json数据转化为JS对象的代码
2017/08/23 Javascript
vue地区选择组件教程详解
2018/05/04 Javascript
使用svg实现动态时钟效果
2018/07/17 Javascript
其实你可以少写点if else与switch(推荐)
2019/01/10 Javascript
JavaScript变量Dom对象的所有属性
2020/04/30 Javascript
[01:00:11]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第一场 2月7日
2021/03/11 DOTA
在Python中用get()方法获取字典键值的教程
2015/05/21 Python
利用python将xml文件解析成html文件的实现方法
2017/12/22 Python
基于python实现学生管理系统
2018/10/17 Python
TensorFlow设置日志级别的几种方式小结
2020/02/04 Python
学生如何注册Pycharm专业版以及pycharm的安装
2020/09/24 Python
input元素的url类型和email类型简介
2012/07/11 HTML / CSS
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
如何查找网页漏洞
2016/06/22 面试题
大专会计自我鉴定
2014/02/06 职场文书
自荐信的基本格式
2014/02/22 职场文书
公益广告宣传方案
2014/02/28 职场文书
小班下学期评语
2014/05/04 职场文书
排查整治工作方案
2014/06/09 职场文书
男方婚前保证书
2015/02/28 职场文书
2015年党日活动总结范文
2015/03/25 职场文书
幼儿园园长工作总结2015
2015/05/25 职场文书
2015年挂职锻炼个人总结
2015/10/22 职场文书
演讲稿之我的初心我的成长
2019/08/12 职场文书