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项目中使用init()
Apr 12 Golang
golang正则之命名分组方式
Apr 25 Golang
Go语言中的UTF-8实现
Apr 26 Golang
go 原生http web 服务跨域restful api的写法介绍
Apr 27 Golang
Go语言中break label与goto label的区别
Apr 28 Golang
浅谈Golang 嵌套 interface 的赋值问题
Apr 29 Golang
Go语言 go程释放操作(退出/销毁)
Apr 30 Golang
解决golang post文件时Content-Type出现的问题
May 02 Golang
Golang: 内建容器的用法
May 05 Golang
go select编译期的优化处理逻辑使用场景分析
Jun 28 Golang
GoFrame gredis缓存DoVar Conn连接对象 自动序列化GoFrame gredisDo/DoVar方法Conn连接对象自动序列化/反序列化总结
Jun 14 Golang
在ubuntu下安装go开发环境的全过程
Aug 05 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
MySQL数据源表结构图示
2008/06/05 PHP
PHP 中文处理技巧
2010/04/25 PHP
ThinkPHP3.1新特性之G方法的使用
2014/06/19 PHP
php实现的日历程序
2015/06/18 PHP
PHP json_encode() 函数详解及中文乱码问题
2015/11/05 PHP
Symfony的安装和配置方法
2016/03/17 PHP
php获取本机真实IP地址实例代码
2016/03/31 PHP
读jQuery之七 判断点击了鼠标哪个键的代码
2011/06/21 Javascript
jquery必须知道的一些常用特效方法及使用示例(整理)
2013/06/24 Javascript
javascript基于DOM实现省市级联下拉框的方法
2015/05/14 Javascript
JS实现快速的导航下拉菜单动画效果附源码下载
2016/11/01 Javascript
JavaScript实现拖拽元素对齐到网格(每次移动固定距离)
2016/11/30 Javascript
bootstrap日期插件daterangepicker使用详解
2017/10/19 Javascript
vue使用ajax获取后台数据进行显示的示例
2018/08/09 Javascript
详解JavaScript中关于this指向的4种情况
2019/04/18 Javascript
微信小程序保持session会话的方法
2020/03/20 Javascript
js实现页面图片消除效果
2020/03/24 Javascript
5个你不知道的JavaScript字符串处理库(小结)
2020/06/01 Javascript
[04:49]期待西雅图之战 2016国际邀请赛中国区预选赛WINGS战队赛后采访
2016/06/29 DOTA
Python读取Excel的方法实例分析
2015/07/11 Python
flask框架路由常用定义方式总结
2019/07/23 Python
Django如何简单快速实现PUT、DELETE方法
2019/07/24 Python
pytorch中的上采样以及各种反操作,求逆操作详解
2020/01/03 Python
python中如何使用insert函数
2020/01/09 Python
在tensorflow中实现屏蔽输出的log信息
2020/02/04 Python
浅谈python 中的 type(), dtype(), astype()的区别
2020/04/09 Python
Jupyter Notebook添加代码自动补全功能的实现
2021/01/07 Python
莫斯科绝对前卫最秘密的商店:SVMoscow
2017/10/23 全球购物
荷兰在线体育用品商店:Avantisport.nl
2018/07/04 全球购物
存储过程的优缺点是什么
2015/01/10 面试题
单位刻章介绍信范文
2014/01/11 职场文书
学生会主席就职演讲稿
2014/01/14 职场文书
大学生2014全国两会学习心得体会
2014/03/10 职场文书
公务员保密承诺书
2014/03/27 职场文书
党支部三严三实对照检查材料思想汇报
2014/09/29 职场文书
InterProcessMutex实现zookeeper分布式锁原理
2022/03/21 Java/Android