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

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

首先是创建目录:

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")
}

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

时间: 2024-11-09 04:01:20

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

Python学习系列(五)(文件操作及其字典)

Python学习系列(五)(文件操作及其字典) Python学习系列(四)(列表及其函数) 一.文件操作 1,读文件 在以'r'读模式打开文件以后可以调用read函数一次性将文件内容全部读出,也可以指定每次read读多少字节,例如: 1 #coding:utf-8 2 fn='test1.py' 3 fp=open(fn,'r') #以读的方式打开文件,文件必须首先存在和,.文件在同一目录下py 4 print 'reading pos:',fp.tell() 5 r=fp.read(20) #

Html5 学习系列(四)文件操作API

原文:Html5 学习系列(四)文件操作API 引言 在之前我们操作本地文件都是使用flash.silverlight或者第三方的activeX插件等技术,由于使用了这些技术后就很难进行跨平台.或者跨浏览器.跨设备等情况下实现统一的表现,从另外一个角度来说就是让我们的web应用依赖了第三方的插件,而不是很独立,不够通用.在HTML5标准中,默认提供了操作文件的API让这一切直接标准化.有了操作文件的API,让我们的Web应用可以很轻松的通过JS来控制文件的读取.写入.文件夹.文件等一系列的操作,

Python基础教程系列:九、文件操作

一.open()函数 open()以及file()(open()与file()等价,可以任意替换)提供了初始化输入/输出(I/O)操作的通用接口.open()函数成功打开一个文件后就会返回一个文件对象,说白了你就可以接着读写了,否则就bug了. 语法:file_object = open(file_name, access_mode='r', buffering=-1) 第一个参数是文件名或者路径(绝对或相对路径),第二个参数叫文件打开的模式,不写时默认是'r'模式.'r'模式是只读模式.'w'

Golang字符串处理以及文件操作

GO语言的进阶之路-Golang字符串处理以及文件操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们都知道Golang是一门强类型的语言,相比Python在处理一些并发问题也是有过之而无不及,甚至可以说远远的甩python几条街.学过python基础或是shell的童鞋应该知道我们在定义一个变量的时候是不需要指定其所属数据类型的,直接让其等于一个变量即可,他们的解释器会自动识别你定义的是个整数,浮点数,字符串,还是数组或是函数.而Golang在定义每个变量的时候都被指定

用gdb分析core文件及常见gdb命令操作示例

1.概述 在实际的软件开发项目中,程序出现问题是在所难免的.遥想本人参加工作之后首次遇到程序的情景,至今还历历在目.之前的经验告诉我,我们越是惊慌失措,问题就越是解决不了.我们要先让自己平静下来,然后再寻找解决程序问题的办法. 在Linux下做开发的朋友,想必都与core文件打过交道.当看到自己的程序运行之后出现core时,很多人都慌乱了,仿佛天快要塌下来一样.其实,我们大可不必如此,只要我们掌握了用gdb调试core文件的办法,依然可以很快定位程序问题,一举将bug消灭掉.有关Linux co

java常见文件操作

收集整理的java常见文件操作,方便平时使用: //1.创建文件夹 //import java.io.*; File myFolderPath = new File(str1); try { if (!myFolderPath.exists()) { myFolderPath.mkdir(); } } catch (Exception e) { System.out.println("新建目录操作出错"); e.printStackTrace(); } //2.创建文件 //impor

golang编程之文件操作

操作文件是任何编程语言都绕不过,要掌握一门语言,知道如何操作文件是必不可少的,今天学习了下golang对文件操作的支持.    golang对文件的支持是在os package里.我无意将本文写成官方文档的模样,我只是想讨论如何利用这些接口操作文件.    OPEN     熟悉文件系统的人都知道,open是整个文件系统中最复杂的接口之一.熟悉C语言的都知道,C语言中有open和creat,接口如下: view sourceprint? 1.#include <sys/types.h> 2.#

Linux常见系统命令与文件操作

一.Linux常见文件操作 (1)cd /: 在Linux 系统中斜杠"/"表示的是根目录. cd / ,即进入根目录. (2)cd ~命令是,进入用户在该系统的home目录,例如xz用户,则进入/root/xz目录 (3)ls:用来列出目录下的文件  -l:查看详细信息 -a:查看所有文件,包括隐藏的 man:linux帮助命令,如man ls (4)mkdir:创建目录 mkdir kai:当前路径创建名称为kai目录 mkdir ./kai/test.txt:当前路径kai目录下

Java文件操作系列[2]——使用JXL操作Excel文件

由于java流无法实现对Excel文件的读写操作,因此在项目中经常利用第三方开源的组件来实现.支持Excel文件操作的第三方开源组件主要有Apache的POI和开源社区的JXL. 总体来说,二者的区别是:JXL较为轻量级,如果是对Excel文件的简单操作,建议使用JXL:POI的功能相当强大,但同时处理问题也相当的繁琐. 1.准备工作 [必需]下载JXL的jar包:jxl.jar [非必需]JXL API  (提取密码:zgqj) 2.一些必要的说明 主要是对Excel结构的说明: Excel后