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 Gin实现文件上传下载的示例代码
Apr 02 Golang
Go语言带缓冲的通道实现
Apr 26 Golang
golang在GRPC中设置client的超时时间
Apr 27 Golang
go结构体嵌套的切片数组操作
Apr 28 Golang
Go 在 MongoDB 中常用查询与修改的操作
May 07 Golang
使用golang编写一个并发工作队列
May 08 Golang
go语言基础 seek光标位置os包的使用
May 09 Golang
Go语言实现Snowflake雪花算法
Jun 08 Golang
Go语言设计模式之结构型模式
Jun 22 Golang
golang中的struct操作
Nov 11 Golang
简单聊聊Golang中defer预计算参数
Mar 25 Golang
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
php使用Smarty的相关注意事项及访问变量的几种方式
2011/12/08 PHP
php过滤表单提交的html等危险代码
2014/11/03 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
JavaScript 学习笔记(十三)Dom创建表格
2010/01/21 Javascript
CutePsWheel javascript libary 控制输入文本框为可使用滚轮控制的js库
2010/02/07 Javascript
javaScript call 函数的用法说明
2010/04/09 Javascript
网页中CDATA标记的说明
2010/09/12 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
2014/05/04 Javascript
js判断一个字符串是否包含一个子串的方法
2015/01/26 Javascript
jQuery操作动态生成的内容的方法
2016/05/28 Javascript
JavaScript作用域示例详解
2016/07/07 Javascript
使用AngularJS 跨站请求如何解决jsonp请求问题
2017/01/16 Javascript
javascript 秒表计时器实现代码
2017/03/09 Javascript
Angular.js实现动态加载组件详解
2017/05/28 Javascript
JavaScript在控件上添加倒计时功能的实现代码
2017/07/04 Javascript
基于nodejs+express4.X实现文件下载的实例代码
2017/07/13 NodeJs
JS中常用的消息框总结
2018/02/24 Javascript
微信小程序倒计时功能实例代码
2018/07/17 Javascript
JavaScript类型相关的常用操作总结
2019/02/14 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
2019/11/01 Javascript
JS Generator 函数的含义与用法实例总结
2020/04/08 Javascript
JavaScript实现瀑布流布局的3种方式
2020/12/27 Javascript
python协程用法实例分析
2015/06/04 Python
python编码最佳实践之总结
2016/02/14 Python
Python中列表和元组的使用方法和区别详解
2020/12/30 Python
Python正则表达式经典入门教程
2017/05/22 Python
详解python实现线程安全的单例模式
2018/03/05 Python
python 读取竖线分隔符的文本方法
2018/12/20 Python
Python PIL库图片灰化处理
2020/04/07 Python
Django {{ MEDIA_URL }}无法显示图片的解决方式
2020/04/07 Python
三星新西兰官网:Samsung新西兰
2019/03/05 全球购物
高分子材料个人求职信范文
2013/09/25 职场文书
监守自盗观后感
2015/06/10 职场文书
2016情人节宣传语
2015/07/14 职场文书
《浅水洼里的小鱼》教学反思
2016/02/16 职场文书
微信小程序调用python模型
2022/04/21 Python