码迷,mamicode.com
首页 > 其他好文 > 详细

Golang系列:其他常见的文件操作

时间:2019-09-11 09:36:05      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:exist   golang   ola   介绍   odi   读写   printf   dir   今天   

在前面两篇中,我们介绍了常用的文件读写操作,今天接着来研究一下,其他一些常见的文件操作。

首先是创建目录:

package main

import (
    "fmt"
    "os"
)

// 显示文件信息
func printFileInfo(info os.FileInfo) {
    fmt.Printf("name: %v \n", info.Name())
    fmt.Printf("size: %v \n", info.Size())
    fmt.Printf("mode: %v \n", info.Mode())
    fmt.Printf("is dir: %v \n", info.IsDir())
    fmt.Printf("modify time: %v \n", info.ModTime())
}

func main() {
    // 创建目录
    os.Mkdir("go", os.ModePerm)

    // 创建多级目录
    os.MkdirAll("go/lang", os.ModePerm)

    // 返回FileInfo实例
    info, _ := os.Stat("go/lang")

    printFileInfo(info)
}

检测目录或文件是否存在:

package main

import (
    "fmt"
    "os"
)

// 显示文件信息
func printFileInfo(info os.FileInfo) {
    fmt.Printf("name: %v \n", info.Name())
    fmt.Printf("size: %v \n", info.Size())
    fmt.Printf("mode: %v \n", info.Mode())
    fmt.Printf("is dir: %v \n", info.IsDir())
    fmt.Printf("modify time: %v \n", info.ModTime())
}

func main() {
    path := "go/lang/test.txt"

    // 返回FileInfo实例
    info, err := os.Stat(path)

    // 检测文件或目录是否存在
    if (os.IsNotExist(err)) {
        // 创建文件
        os.Create(path)
    
        // 重新获取FileInfo
        info, _ = os.Stat(path)
    }

    printFileInfo(info)
}

列举目录下的所有文件:

package main

import (
    "fmt"
    "io/ioutil"
    "path"
)

func main() {
    dirPath := "go/lang"

    dirInfo, _ := ioutil.ReadDir(dirPath)

    for _, fileInfo := range dirInfo {
        fileName := fileInfo.Name()

        filePath := path.Join(dirPath, fileName)

        fmt.Println(filePath)
    }
}

最后是移除目录或文件:

package main

import (
    "fmt"
    "os"
)

func main() {
    // 移除文件或空目录
    os.Remove("go/lang/test2.txt")
    // 移除文件或目录
    os.RemoveAll("go")
}

Golang系列:其他常见的文件操作

标签:exist   golang   ola   介绍   odi   读写   printf   dir   今天   

原文地址:https://www.cnblogs.com/liuhe688/p/11429275.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!