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中实现给gif、png、jpeg图片添加文字水印
Apr 26 Golang
解决Golang time.Parse和time.Format的时区问题
Apr 29 Golang
对Golang中的FORM相关字段理解
May 02 Golang
Go语言应该什么情况使用指针
Jul 25 Golang
Go Plugins插件的实现方式
Aug 07 Golang
Go语言实现一个简单的并发聊天室的项目实战
Mar 18 Golang
golang为什么要统一错误处理
Apr 03 Golang
golang连接MySQl使用sqlx库
Apr 14 Golang
Golang日志包的使用
Apr 20 Golang
Golang ort 中的sortInts 方法
Apr 24 Golang
GoFrame框架数据校验之校验结果Error接口对象
Jun 21 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/14 PHP
Codeigniter框架的更新事务(transaction)BUG及解决方法
2014/07/25 PHP
php实现购物车功能(上)
2020/07/23 PHP
PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案
2018/10/14 PHP
PHP 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
jquery checkbox,radio是否选中的判断代码
2010/03/20 Javascript
关于跨站脚本攻击问题
2011/12/22 Javascript
js实现单一html页面两套css切换代码
2013/04/11 Javascript
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
javascript实现在指定元素中垂直水平居中
2015/09/13 Javascript
javascript与jquery中的this关键字用法实例分析
2015/12/24 Javascript
Bootstrap实现带动画过渡的弹出框
2016/08/09 Javascript
原生态js,鼠标按下后,经过了那些单元格的简单实例
2016/08/11 Javascript
JS实现放大、缩小及拖拽图片的方法【可兼容IE、火狐】
2016/08/23 Javascript
angular源码学习第一篇 setupModuleLoader方法
2016/10/20 Javascript
JavaScript中数组Array.sort()排序方法详解
2017/03/01 Javascript
jQuery插件FusionCharts绘制的3D环饼图效果示例【附demo源码】
2017/04/02 jQuery
一文让你彻底搞清楚javascript中的require、import与export
2017/09/24 Javascript
vue拦截器实现统一token,并兼容IE9验证功能
2018/04/26 Javascript
页面点击小红心js实现代码
2018/05/26 Javascript
vue 实现边输入边搜索功能的实例讲解
2018/09/16 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
2019/11/29 Javascript
记一次用ts+vuecli4重构项目的实现
2020/05/21 Javascript
在vue中实现禁止回退上一步,路由不存历史记录
2020/07/22 Javascript
微信小程序实现分页加载效果
2020/11/19 Javascript
Python获取远程文件大小的函数代码分享
2014/05/13 Python
对Python3 goto 语句的使用方法详解
2019/02/16 Python
python输出第n个默尼森数的实现示例
2020/03/08 Python
python温度转换华氏温度实现代码
2020/12/06 Python
Orlebar Brown官网:设计师泳裤和泳装
2020/12/08 全球购物
播音主持专业个人自我评价
2014/01/09 职场文书
浙江文明网签名寄语
2014/01/18 职场文书
初三学习计划书范文
2014/04/30 职场文书
2014年冬季防火方案
2014/05/21 职场文书
妈妈别哭观后感
2015/06/08 职场文书
《祁黄羊》教学反思
2016/02/20 职场文书