判断文件或目录存在 | 学习笔记

简介: 快速学习判断文件或目录存在

开发者学堂课程【Go 语言核心编程 - 面向对象、文件、单元测试、反射、TCP 编程判断文件或目录存在】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/626/detail/9731


判断文件或目录存在

 

内容介绍

一、基本应用实例-方式二
二、代码运行

三、代码实现

四、判断文件是否存在

 

一、基本应用实例-方式二

编程一个程序,将一个文件的内容,写入到另外一个文件。注:这两个文件已经存在了。

也就是说有一个要求,把一个文件内容导入到另一个中去。

说明:

使用 ioutil.ReadFile / ioutil.WriteFile 完成写文件的任务.

 

二、代码运行

func main()
//将 d:/abc.txt 文件内容导入到 e:/kkk.txt
//1. 首先将 d:/abc.txt 内容读取到内存
//2.将读取到的内容写入 e:/kkk.txt
file1path:="d:/abc.txt"
file2Path:="e:/kkk.txt"
content, err := joutil.ReadFile(filelPath)

if err l= nil
//说明读取文件有错误
fmt.Println("read file err=%v", err)

return
ioutil.WriteFile

此时点开 ioutil.WriteFile,

func ReadFile(filename string)(byte,error,)byte 是返回一个切片,error 刚才已经处理了。

func WriteFile(filename string, data jy byte,perm os.FileMode) error

在 Windows 下面,它是无效的,所以此时写成:

err = ioutil.WriteFile(file2Path, data, 0666)

if err != nil

fmt.Printf("write file error=%v\n",err)

此时运行,没有问题。

 

三、代码实现

代码整理为:

package main

import(

"fmt”

"io/ioutil"

func main() [

//将d:/abc.txt 文件内容导入到 e:k.txt

//1. 首先将 d:/abc.txt 内容读取到内存

//2.将读取到的内容写入e:k.txt

file1path:="d:/abc.txt"

file2Path:="e:k.txt"

data, err := ioutil.ReadFile(file1path)if err l= nil [

//说明读取文件有错误

fmt.Printf("read file err=%v\n", err) return

err = ioutil.WriteFile(file2Path, data, 0666)if err l= nil

fmt.Printf("write file error=%v\n",err)

 

四、判断文件是否存在

golang 判断文件或文件夹是否存在的方法为使用 os.Stat()函数返回的错误值进行判断:

1)如果返回的错误为 nil,说明文件或文件夹存在

2)如果返回的错误类型使用 os.IsNotExist()判断为 true,说明文件或文件夹不存在如果返回的错误为其它类型,则不确定是否在存在

//自己写了一个函数,用于判断文件或者目录是否存在。

func PathExists(path string) (bool, error) 《

_ err := os.Stat(path)

if err == nil 《

return true, nil

if os.IsNotExist(err) (

return false, nil

return false, err

相关文章
|
1月前
|
Java
怎样查找某个目录下内容含有某个字符串的文件或多久之前的文件
怎样查找某个目录下内容含有某个字符串的文件或多久之前的文件
14 0
|
1月前
|
弹性计算 运维 Shell
判断文件或目录是否存在
【4月更文挑战第29天】
24 0
|
1月前
|
弹性计算 运维 Shell
遍历当前目录文件并执行检查
【4月更文挑战第30天】
22 0
|
1月前
|
Linux Shell
Linux脚本获取输入参数判断文件还是文件路径
Linux脚本获取输入参数判断文件还是文件路径
21 4
|
11月前
if双份分枝判断是否有benet目录没有创建存在提示已经创建目录
if双份分枝判断是否有benet目录没有创建存在提示已经创建目录
27 1
|
Shell
判断目录 /tmp/jstack 是否存在,不存在则新建一个目录,若存在则删除目录下所有内容
每隔 1 小时打印 inceptor server 的 jstack 信息,并以 jstack_${当前时间} 命名文件,每当目录下超过 10 个文件后,删除最旧的文件。
57 0
|
Shell
判断目录 /tmp/jstack 是否存在,不存在则新建一个目录,若存在则删除目录下所有内容。
每隔 1 小时打印 inceptor server 的 jstack 信息,并以 jstack_${当前时间} 命名文件,每当目录下超过 10 个文件后,删除最旧的文件。
75 0
|
内存技术
若某文件系统的目录结构如下图所示,假设用户要访问文件 fault.swf ,且当前工作目录为 swshare ,则该文件的全文件名为( ),相对路径和绝对路径分别为( 请在此空作答
若某文件系统的目录结构如下图所示,假设用户要访问文件 fault.swf ,且当前工作目录为 swshare ,则该文件的全文件名为( ),相对路径和绝对路径分别为( 请在此空作答
268 0
若某文件系统的目录结构如下图所示,假设用户要访问文件 fault.swf ,且当前工作目录为 swshare ,则该文件的全文件名为( ),相对路径和绝对路径分别为( 请在此空作答
|
分布式计算 Hadoop 开发者
文件和文件夹的判断| 学习笔记
快速学习文件和文件夹的判断
215 0