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 相关文章推荐
goland 恢复已更改文件的操作
Apr 28 Golang
golang 接口嵌套实现复用的操作
Apr 29 Golang
golang 在windows中设置环境变量的操作
Apr 29 Golang
Go使用协程交替打印字符
Apr 29 Golang
goland设置颜色和字体的操作
May 05 Golang
Golang中异常处理机制详解
Jun 08 Golang
浅谈Go语言多态的实现与interface使用
Jun 16 Golang
Golang表示枚举类型的详细讲解
Sep 04 Golang
Go语言基础函数基本用法及示例详解
Nov 17 Golang
Go获取两个时区的时间差
Apr 20 Golang
Golang 实现WebSockets
Apr 24 Golang
Golang 实现 WebSockets 之创建 WebSockets
Apr 24 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在XP下IIS和Apache2服务器上的安装
2006/09/05 PHP
第三节 定义一个类 [3]
2006/10/09 PHP
php Session存储到Redis的方法
2013/11/04 PHP
PHP版单点登陆实现方案的实例
2016/11/17 PHP
PHP 获取指定地区的天气实例代码
2017/02/08 PHP
PHP快速导出百万级数据到CSV或者EXCEL文件
2020/11/27 PHP
Javascript 刷新全集常用代码
2009/11/22 Javascript
JQuery判断HTML元素是否存在的两种解决方法
2013/12/26 Javascript
js中split函数的使用方法说明
2013/12/26 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
2014/05/08 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
2014/10/16 Javascript
jquery插件qrcode在线生成二维码
2015/04/26 Javascript
javascript实现信息增删改查的方法
2015/07/25 Javascript
jQuery实现动画效果circle实例
2015/08/06 Javascript
javascript实现计时器的简单方法
2016/02/21 Javascript
Ionic实现页面下拉刷新(ion-refresher)功能代码
2016/06/03 Javascript
JS常用字符串方法(推荐)
2021/01/15 Javascript
JavaScript SHA1加密算法实现详细代码
2016/10/06 Javascript
使用vue-router与v-if实现tab切换遇到的问题及解决方法
2018/09/07 Javascript
Vue.js实现立体计算器
2020/02/22 Javascript
[02:33]2014DOTA2 TI每日综述 LGD涉险晋级DK闯入胜者组
2014/07/14 DOTA
tensorflow TFRecords文件的生成和读取的方法
2018/02/06 Python
python利用Opencv实现人脸识别功能
2019/04/25 Python
人工神经网络算法知识点总结
2019/06/11 Python
基于Python实现拆分和合并GIF动态图
2019/10/22 Python
在 Python 中接管键盘中断信号的实现方法
2020/02/04 Python
利用canvas实现图片下载功能来实现浏览器兼容问题
2019/05/31 HTML / CSS
html5 Canvas画图教程(5)—canvas里画曲线之arc方法
2013/01/09 HTML / CSS
意大利奢侈品网站:Italist
2016/08/23 全球购物
.net软件工程师面试题
2015/03/31 面试题
致100米运动员广播稿
2014/02/14 职场文书
2014年党员承诺书范文
2014/05/20 职场文书
国际贸易专业自荐信
2014/06/10 职场文书
故意杀人罪辩护词
2015/05/21 职场文书
Java 实战项目之家居购物商城系统详解流程
2021/11/11 Java/Android
SQL Server Agent 服务无法启动
2022/04/20 SQL Server