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 相关文章推荐
Golang 正则匹配效率详解
Apr 25 Golang
Go语言中的UTF-8实现
Apr 26 Golang
Go语言切片前或中间插入项与内置copy()函数详解
Apr 27 Golang
彻底理解golang中什么是nil
Apr 29 Golang
golang gopm get -g -v 无法获取第三方库的解决方案
May 05 Golang
试了下Golang实现try catch的方法
Jul 01 Golang
golang 实用库gotable的具体使用
Jul 01 Golang
Go语言并发编程 sync.Once
Oct 16 Golang
golang操作rocketmq的示例代码
Apr 06 Golang
golang使用map实现去除重复数组
Apr 14 Golang
Golang 结构体数据集合
Apr 22 Golang
Golang 入门 之url 包
May 04 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加速 eAccelerator配置和使用指南
2009/06/05 PHP
PHP递归返回值时出现的问题解决办法
2013/02/19 PHP
类似框架的js代码
2006/11/09 Javascript
JS array 数组详解
2009/03/22 Javascript
让浏览器非阻塞加载javascript的几种方法小结
2011/04/25 Javascript
javascript快速排序算法详解
2014/09/17 Javascript
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
分享javascript计算时间差的示例代码
2020/03/19 Javascript
jquery UI Datepicker时间控件的使用及问题解决
2016/04/28 Javascript
vue页面使用阿里oss上传功能的实例(二)
2017/08/09 Javascript
全面介绍vue 全家桶和项目实例
2017/12/27 Javascript
基于vue-ssr的静态网站生成器VuePress 初体验
2018/04/17 Javascript
Vue.set() this.$set()引发的视图更新思考及注意事项
2018/08/30 Javascript
详解如何在vue项目中使用layui框架及采坑
2019/05/05 Javascript
[01:24]2014DOTA2 TI第二日 YYF表示这届谁赢都有可能
2014/07/11 DOTA
[01:35]辉夜杯战队访谈宣传片—LGD
2015/12/25 DOTA
[03:01]完美世界DOTA2联赛PWL S2 集锦第二期
2020/12/03 DOTA
python如何实现excel数据添加到mongodb
2015/07/30 Python
详解Python3之数据指纹MD5校验与对比
2019/06/11 Python
使用APScheduler3.0.1 实现定时任务的方法
2019/07/22 Python
python cumsum函数的具体使用
2019/07/29 Python
Pycharm连接远程服务器并实现远程调试的实现
2019/08/02 Python
python使用Geany编辑器配置方法
2020/02/21 Python
html5 迷宫游戏(碰撞检测)实例一
2013/07/25 HTML / CSS
phonegap常用事件总结(必看篇)
2017/03/31 HTML / CSS
上海天奕面试题笔试题
2015/04/19 面试题
工作中个人的自我评价
2013/12/31 职场文书
淘宝网店营销策划书
2014/01/11 职场文书
优秀志愿者事迹材料
2014/02/03 职场文书
2014年清明节网上祭英烈寄语
2014/04/09 职场文书
行政专员岗位职责说明书
2014/09/01 职场文书
年度考核登记表个人总结
2015/03/06 职场文书
2015年消防工作总结
2015/04/24 职场文书
2016春季小学开学寄语
2015/12/03 职场文书
小学三年级作文之写景
2019/11/05 职场文书
用Python实现屏幕截图详解
2022/01/22 Python