>백엔드 개발 >Golang >Golang은 파일이 존재하는지 여부를 확인하고 파일을 생성합니다.

Golang은 파일이 존재하는지 여부를 확인하고 파일을 생성합니다.

尚
원래의
2019-12-14 10:45:468784검색

Golang은 파일이 존재하는지 여부를 확인하고 파일을 생성합니다.

1. 파일이나 폴더가 있는지 확인

golang 파일이나 폴더가 있는지 확인하려면 os.stat() 메서드와 os.IsExist() 메서드를 사용할 수 있습니다.

func isExist(path string)(bool){
    _, err := os.Stat(path)
    if err != nil{
        if os.IsExist(err){
            return true
        }
        if os.IsNotExist(err){
            return false
        }
        fmt.Println(err)
        return false
    }
    return true
}

2 재귀 폴더를 생성하려면

os.MkdirAll() 메서드를 재귀적으로 사용하세요.

func MkdirAll(path string, perm FileMode) error

첫 번째 매개 변수는 경로이고 두 번째 매개 변수는 권한입니다. 폴더가 없으면 생성하고, 있으면 아무 작업도 수행하지 마십시오.

3. 테스트 코드

package main
import (
    "os"
    "fmt"
)
//判断文件或文件夹是否存在
func isExist(path string)(bool){
    _, err := os.Stat(path)
    if err != nil{
        if os.IsExist(err){
            return true
        }
        if os.IsNotExist(err){
            return false
        }
        fmt.Println(err)
        return false
    }
    return true
}
func main(){
    //递归创建文件夹
    err := os.MkdirAll("./test/1/2", os.ModePerm)
    if err != nil{
        fmt.Println(err)
        return
    }
    dirs := []string{"./test/1", "./test/2", "./test/1.txt"}
    for _, v := range dirs{
        if isExist(v){
            fmt.Printf("%s is exist!", v)
        }else{
            fmt.Printf("%s is not exist!", v)
        }
    }
}

터미널에서 실행:

ma@ma:/data/code/go/src/file_exist$ tree
.
└── file_exist.go
0 directories, 1 file
ma@ma:/data/code/go/src/file_exist$ go run file_exist.go  # 运行程序
./test/1 is exist!
./test/2 is not exist!
./test/1.txt is not exist!
ma@ma:/data/code/go/src/file_exist$ tree  
.
├── file_exist.go
└── test
    └── 1
        └── 2
3 directories, 1 file
ma@ma:/data/code/go/src/file_exist$ touch test/1.txt  # 创建1.txt
ma@ma:/data/code/go/src/file_exist$ go run file_exist.go 
./test/1 is exist!
./test/2 is not exist!
./test/1.txt is exist!  # 1.txt存在

더 많은 golang 지식을 알고 싶다면 golang tutorial 칼럼을 주목해주세요.

위 내용은 Golang은 파일이 존재하는지 여부를 확인하고 파일을 생성합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.