返回顶部
首页 > 资讯 > 后端开发 > GO >Golang实现文件夹的创建与删除的方法详解
  • 394
分享到

Golang实现文件夹的创建与删除的方法详解

2024-04-02 19:04:59 394人浏览 安东尼
摘要

目录创建文件夹删除文件和文件夹小结补充学习笔记,写到哪是哪。 接着上一篇对纯文本文件读写操作,主要去实现一些文件夹操作。 创建文件夹 创建文件夹的时候往往要先判断文件夹是否存在。 样

学习笔记,写到哪是哪。

接着上一篇对纯文本文件读写操作,主要去实现一些文件夹操作。

创建文件夹

创建文件夹的时候往往要先判断文件夹是否存在。

样例代码如下

package main
 
import (
	"bufio"
	"fmt"
	"io"
	"os"
)
 
//判断文件夹是否存在
func HasDir(path string) (bool, error) {
	_, _err := os.Stat(path)
	if _err == nil {
		return true, nil
	}
	if os.IsNotExist(_err) {
		return false, nil
	}
	return false, _err
}
 
//创建文件夹
func CreateDir(path string) {
	_exist, _err := HasDir(path)
	if _err != nil {
		fmt.Printf("获取文件夹异常 -> %v\n", _err)
		return
	}
	if _exist {
		fmt.Println("文件夹已存在!")
	} else {
		err := os.Mkdir(path, os.ModePerm)
		if err != nil {
			fmt.Printf("创建目录异常 -> %v\n", err)
		} else {
			fmt.Println("创建成功!")
		}
	}
}
 
func main() {
	CreateDir("./output")
}

执行结果

创建成功!

Process finished with the exit code 0

注意

1、其中os.ModePerm主要是对创建文件夹的授权,了解linux的会比较熟悉。

其中 ModePerm FileMode = 0777,也就是最高权限,可读可写可执行。

也可以直接使用os.FileMode(644).String()。

删除文件和文件夹

使用os.Remove方法来删除文件,使用os.RemoveAll方法来删除文件夹。

可以看一下RemoveAll的内部实现,整体上就是遍历和递归操作。

样例代码如下

//删除文件
func RemoveFile(path string) error {
	_err := os.Remove(path)
	return _err
}
 
//删除文件夹
func RemoveDir(path string) error {
	_err := os.RemoveAll(path)
	return _err
}

小结

总的来说直接使用os,和python一样,麻烦,还是得找个工具库来操作,方便简洁一点。而且一直往上传递error的方式让我头大,好烦啊。

补充

当然golang还能实现一些常见的文件操作,如网络文件下载,读写csv文件等,以下是实现代码

网络文件下载

package main

import (
	"fmt"
	"GitHub.com/zhangdapeng520/zdpGo_file"
)

func main() {
	f := zdpgo_file.New()
	savePath := "./"

	// 单个下载
	url := "https://avatar.csdnimg.cn/2/9/0/1_togolife.jpg"
	err := f.Download.Download(savePath, url)
	if err != nil {
		fmt.Println("下载失败:", err)
	} else {
		fmt.Println("下载成功")
	}

	// 批量下载
	urls := []string{
		"Https://alifei04.cfp.cn/creative/vcg/nowarter800/new/VCG41N695593548.jpg",
		"https://tenfei02.cfp.cn/creative/vcg/nowarter800/new/VCG41N1014325904.jpg",
		"https://tenfei05.cfp.cn/creative/vcg/nowater800/new/VCG41545444880.jpg",
	}
	f.Download.Downloads(savePath, urls)
}

读写csv

package main

import (
	"fmt"
	"github.com/zhangdapeng520/zdpgo_file"
)

func main() {
	f := zdpgo_file.New()
	data := [][]string{
		{"a", "b", "c"},
		{"111", "222", "333"},
		{"111", "222", "333"},
		{"111", "222", "333"},
		{"111", "222", "333"},
		{"111", "222", "333"},
		{"111", "222", "333"},
		{"111", "222", "333"},
		{"111", "222", "333"},
		{"111", "222", "333"},
		{"111", "222", "333"},
	}

	// 写入
	f.Csv.Write("test.csv", data)

	// 读取
	dataNew, err := f.Csv.Read("test.csv")
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println(dataNew)
}

到此这篇关于Golang实现文件夹的创建与删除的方法详解的文章就介绍到这了,更多相关Golang文件夹创建 删除内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: Golang实现文件夹的创建与删除的方法详解

本文链接: https://lsjlt.com/news/149703.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Golang实现文件夹的创建与删除的方法详解
    目录创建文件夹删除文件和文件夹小结补充学习笔记,写到哪是哪。 接着上一篇对纯文本文件读写操作,主要去实现一些文件夹操作。 创建文件夹 创建文件夹的时候往往要先判断文件夹是否存在。 样...
    99+
    2024-04-02
  • Golang怎么实现文件夹的创建与删除
    本文小编为大家详细介绍“Golang怎么实现文件夹的创建与删除”,内容详细,步骤清晰,细节处理妥当,希望这篇“Golang怎么实现文件夹的创建与删除”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。创建文件夹创建文件...
    99+
    2023-06-30
  • android创建和删除文件夹和文件的实现方法
    这个也比较简单了,直接上代码 public static void createPath(String path) { File file = new File(p...
    99+
    2022-06-06
    方法 Android
  • hadoop如何实现文件夹文件的创建与删除
    小编给大家分享一下hadoop如何实现文件夹文件的创建与删除,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!package hadoop.test;imp...
    99+
    2023-06-02
  • windows xp系统中创建无法删除的文件夹的方法
         有时我们电脑中会存在重要的文件,要删除一些不需要的文件时会把它给误删掉,当删除掉后很多用户会很后悔,但是这也于事无补了,那么什么没办法可以防止自己误删重 在Windows xp系统...
    99+
    2023-06-07
    windowsxp 无法删除 文件夹 windows xp 系统 方法
  • python 实现删除文件或文件夹实例详解
    python 实现删除文件或文件夹 最近自己学习Python 的知识,自己学习抓取网页的内容知识等,在学习的时候Python 删除文件夹或者文件知识的时候,觉得本篇内容不错,推荐给大家。...
    99+
    2022-06-04
    详解 文件夹 实例
  • Win7系统怎么创建无法删除的文件夹?
    我们在电脑中正常创建新文件夹是直接可以删除的,但是如果想要创建一个无法删除的文件夹的话,则需要通过CMD命令创建。那么如何创建无法删除的文件夹?下面小编分享一下Win7系统下创建无法删除的文件夹,具体操作方法如下。 Wi...
    99+
    2023-05-19
    Win7系统 无法删除 文件夹
  • Java实现文件及文件夹的删除
    本文实例为大家分享了Java实现文件及文件夹的删除,供大家参考,具体内容如下 1、删除单个文件 public static boolean deleteFile(String fil...
    99+
    2024-04-02
  • Win8删除那些无法删除的文件夹的方法
    点击继续后我又想到是不是该重启一下(没办法,windows稍微跟注册表有关的就得重启,这是多么蛋疼的事,而linux完全没必要!)。重启后,实践是检验真理的唯一标准!我就直接告诉你吧还是不行。网上找答案去,...
    99+
    2022-06-04
    文件夹 方法
  • XP系统怎么创建无法删除文件夹
    这篇文章主要介绍了XP系统怎么创建无法删除文件夹的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇XP系统怎么创建无法删除文件夹文章都会有所收获,下面我们一起来看看吧。创建方法:一、首先按键盘上的“Win+R”打开...
    99+
    2023-06-28
  • Linux服务器删除文件夹、删除文件、解压命令的方法
    一、删除文件夹 例:rm -rf /usr/java 将会删除/usr/java目录以及其下所有文件、文件夹 二、删除文件 例:rm -f /usr/tomcat/conf/server.xml 将会强制删除/usr/t...
    99+
    2022-06-04
    Linux 删除 文件夹 文件 解压命令
  • 删除文件或文件夹的多种方法
    删除文件或文件夹的多种方法 当杂乱无章的文件或文件夹造成磁盘空间无谓消耗时,您便可利用由Windows XP提供的多种方法将不再需要的文件或文件夹删除掉。您可在Windows资源管理器中利用以下任意一种方法执行删除操作:...
    99+
    2023-05-24
    删除文件 文件夹 多种方法 文件 方法
  • Windows.old文件夹删除不了的解决方法
      Windows.OLD文件夹是Win7对以前的旧版系统所做的备份。因为其特殊性,用户不能直接删除该文件夹。在直接删除的时候常常会出现“找不到该项目”的错误,导致Windows 7的Explor...
    99+
    2023-06-03
    Windows.old 删除文件夹 解决 文件夹 方法
  • 详解C++ 创建文件夹的四种方式
    在开头不得不吐槽一下,我要的是简单明了的创建文件夹的方式,看得那些文章给的都是复杂吧唧的一大坨代码,不仔细看鬼知道写的是啥。因此,为了方便以后自己阅读,这里自己写一下 C++ 创建文...
    99+
    2024-04-02
  • ubuntu删除文件夹命令的方法
    ubuntu删除文件夹命令是rm,具体操作方法:1.打开ubuntu终端;2.使用删除命令将你指定的文件夹进行删除即可。ubuntu删除文件夹命令是rm,具体操作方法如下:打开ubuntu终端,可以使用快捷键【Ctrl+Alt+T】打开终端...
    99+
    2024-04-02
  • php删除非空文件夹的方法
    这篇文章主要为大家展示了php删除非空文件夹的方法,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“php删除非空文件夹的方法”这篇文章吧。php有什么用php是一个嵌套的缩写名称,是英文超级文本预处...
    99+
    2023-06-06
  • Android实时文件夹创建方法
    本文实例讲述了Android实时文件夹创建方法。分享给大家供大家参考。具体如下: 实时文件夹是一种用来显示由某个ContentProvider提供的数据信息的桌面组件。要创建一...
    99+
    2022-06-06
    方法 Android
  • Linux中文件/文件夹无法删除的解决方案
    前言 最近我们的服务器被黑客攻击,然后有些文件的属性被修改,导致我们无法删除病毒文件,同时采用 root 用户也无法删除,现在把解决方案记录下来。 普通删除 如果文件是当前用户的,那么使用 rm 命令就可以删除 r...
    99+
    2022-06-04
    linux删除文件和文件夹 linux删除文件夹下所有文件 linux 删除文件夹
  • 删除windows.old文件夹的解决办法
      如何删除Windows.old文件夹,装完系统后发现C盘竟然有近40G之大,正常情况下干净的WIN7应该不超过10G的,跑到c: 一看,发现了一个名为windows.old的文件夹,由于该童鞋以前的系统是V...
    99+
    2023-05-25
    windows.old 文件夹 解决办法
  • Python实现删除重复视频文件的方法详解
    目录Python自动化办公之删除重复的视频文件获取所有文件路径获取所有重复文件,添加到一个列表删除重复文件Python自动化办公之删除重复的视频文件 获取所有文件路径 import ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作