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 DNS服务器的简单实现操作
Apr 30 Golang
golang协程池模拟实现群发邮件功能
May 02 Golang
golang elasticsearch Client的使用详解
May 05 Golang
golang 定时任务方面time.Sleep和time.Tick的优劣对比分析
May 05 Golang
Go 自定义package包设置与导入操作
May 06 Golang
解决golang 关于全局变量的坑
May 06 Golang
Golang全局变量加锁的问题解决
May 08 Golang
浅谈Golang 切片(slice)扩容机制的原理
Jun 09 Golang
K8s部署发布Golang应用程序的实现方法
Jul 16 Golang
Go Plugins插件的实现方式
Aug 07 Golang
实现GO语言对数组切片去重
Apr 20 Golang
Python测试框架pytest核心库pluggy详解
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
在普通HTTP上安全地传输密码
2007/07/21 PHP
php 冒泡排序 交换排序法
2011/05/10 PHP
PHP仿微信发红包领红包效果
2016/10/30 PHP
php实现表单提交上传文件功能
2018/05/28 PHP
彻底搞懂JS无缝滚动代码
2007/01/03 Javascript
json 入门基础教程 推荐
2009/10/31 Javascript
JS跨域代码片段
2012/08/30 Javascript
Javascript 实现图片无缝滚动
2014/12/19 Javascript
Node.js实现Excel转JSON
2015/04/24 Javascript
JavaScript中toString()方法的使用详解
2015/06/05 Javascript
详解JavaScript逻辑Not运算符
2015/12/04 Javascript
详解angular中通过$location获取路径(参数)的写法
2017/03/21 Javascript
JS 中LocalStorage和SessionStorage的使用
2017/08/17 Javascript
浅谈Vuejs中nextTick()异步更新队列源码解析
2017/12/31 Javascript
JavaScript基于面向对象实现的猜拳游戏
2018/01/03 Javascript
React BootStrap用户体验框架快速上手
2018/03/06 Javascript
使用JavaScrip模拟实现仿京东搜索框功能
2019/10/16 Javascript
JavaScript JSON使用原理及注意事项
2020/07/30 Javascript
使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
2014/01/19 Python
在Python中操作时间之strptime()方法的使用
2020/12/30 Python
Python实现爬取逐浪小说的方法
2015/07/07 Python
Python将多个excel文件合并为一个文件
2018/01/03 Python
Python基于socket实现简单的即时通讯功能示例
2018/01/16 Python
Python基于opencv调用摄像头获取个人图片的实现方法
2019/02/21 Python
Python时间和字符串转换操作实例分析
2019/03/16 Python
PyQt5 在label显示的图片中绘制矩形的方法
2019/06/17 Python
Python3之不使用第三方变量,实现交换两个变量的值
2019/06/26 Python
Python Pandas分组聚合的实现方法
2019/07/02 Python
python实现的接收邮件功能示例【基于网易POP3服务器】
2019/09/11 Python
Omio荷兰:预订火车、巴士和机票
2018/11/04 全球购物
英国手机壳购买网站:Case Hut
2019/04/11 全球购物
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
2012/04/17 面试题
自我评价200字分享
2013/12/17 职场文书
个人收入证明范本
2014/01/12 职场文书
小学国旗下的演讲稿
2014/08/28 职场文书
公安领导班子四风问题个人整改措施思想汇报
2014/10/09 职场文书