go语言中常用的文件和文件夹操作函数
package main; import (
"os"
"log"
"time"
"fmt"
) //一些常用的文件操作函数 func main() {
//创建目录
//perm权限设置,os.ModePerm为0777
err := os.Mkdir("./tmp", os.ModePerm);
if err != nil {
log.Fatal(err);
} //创建多级目录
err2 := os.MkdirAll("./a/b/c", os.ModePerm);
if err2 != nil {
log.Fatal(err2);
} //等个3秒,看目录是否创建成功
time.Sleep(time.Second * 3); //删除目录
//如果目录下有文件或其他目录会出错
err3 := os.Remove("./tmp");
if err3 != nil {
log.Fatal(err3);
} //删除多级目录
//如果是单个名称,则删除所有子目录
err4 := os.RemoveAll("./a/b/c");
if err4 != nil {
log.Fatal(err4);
} //文件操作
//创建文件
//Create会返回一个文件对象,默认权限0666
file1, err5 := os.Create("./1.log");
defer file1.Close();
if err5 != nil {
log.Fatal(err5);
} //通过文件描述符(文件句柄)来创建文件
file2 := os.NewFile(file1.Fd(), "./2.log");
defer file2.Close(); //打开文件
//Open内部调用OpenFile,以只读方式打开
file3, err6 := os.Open("./1.txt");
defer file3.Close();
if err6 != nil {
log.Fatal(err6);
} //OpenFile指定文件打开方式,只读,只写,读写和权限
file4, err7 := os.OpenFile("./2.txt", os.O_RDWR, 0666);
defer file4.Close();
if err7 != nil {
log.Fatal(file4);
} //向文件写入数据
file4.Write([]byte("我写入数据")); //在指定位置写入数据
file4.WriteAt([]byte("指定位置写入数据"), 1024); //直接写入string
file4.WriteString("你好世界"); //读取文件数据 //将文件偏移量设置为开头
file4.Seek(0, 0);
tmp := make([]byte, 256);
//Read读取数据到[]byte中
for n, _ := file4.Read(tmp); n != 0; n, _ = file4.Read(tmp) {
fmt.Println(string(tmp));
} //ReadAt从off指定位置读取数据到[]byte中
file4.Seek(0, 0);
var off int64 = 0;
for {
n, _ := file4.ReadAt(tmp, off);
off += int64(n);
if n == 0 {
break;
} fmt.Println(string(tmp));
} //删除文件
//Go中删除文件和删除文件夹同一个函数
err8 := os.Remove("./1.txt");
if err8 != nil {
log.Fatal(err8);
}
}
go语言中常用的文件和文件夹操作函数的更多相关文章
- C语言中常用计时方法总结
转自:http://blog.csdn.net/fz_ywj/article/details/8109368 C语言中常用计时方法总结 1. time() 头文件:time.h 函数原型:time_t ...
- linux 中常用的一些头文件
#include <linux/***.h> 是在linux-2.6.29/include/linux下面寻找源文件. #include <asm/***.h> 是在linux ...
- Java中常用IO流之文件流的基本使用姿势
所谓的 IO 即 Input(输入)/Output(输出) ,当软件与外部资源(例如:网络,数据库,磁盘文件)交互的时候,就会用到 IO 操作.而在IO操作中,最常用的一种方式就是流,也被称为IO流. ...
- go 语言中常用的包
来自学习go语言.pdf 译者刑星 ==== fmt 包fmt实现了格式化IO函数,这与c的printf和scanf类似,格式化短语派生于c %v 默认格式的值.当打印结构时,加号(%+v)会增加字段 ...
- C语言中常用的字符串处理函数总结
C语言中字符串处理函数备注 此文仅用于自己研究和记录 字符串处理函数 1. char *gets(char *s); #include<stdio.h> 功能: 从标准输入读入字符,并保存 ...
- linux 文件名称前后缀操作函数----取目录函数dir、取文件名称函数notdir、取后缀函数suffix、取前缀basename、加后缀函数addsuffix、加前缀addprefix、连接函数join
1.1 文件名操作函数 下面我们要介绍的函数主要是处理文件名的.每个函数的参数字符串都会被当做一个或是一系列的文件名来对待. 1.1.1 取目录函数dir $(dir < ...
- C语言中以文本方式读写文件时换行符转换的注意事项
我们知道在UNIX下是没有回车符(\r)的,只有换行符(\n),而C语言诞生于UNIX(Linux即面向开源的UNIX,Mac OS也是UNIX发展而来的,而Windows是从MS-DOS发展而来,与 ...
- ssm项目中常用的上传文件
在项目中,上传文件一般是必不可少的,所以今天学到新的上传方式,就干脆将学习过的上传方式记录一下 一.表单直接上传图片 表单头要设置 <form action="" metho ...
- C 语言中包含的标准头文件(24个)
<assert.h><complex.h><ctype.h><errno.h><fenv.h><float.h><intt ...
随机推荐
- oracle第四天笔记
游标 /* 序列: ORACLE使用来模拟ID自动增长的 */ create sequence seq_test4; create table test2( tid number primary ke ...
- 剑指offer例题——裴波那契数列
编程题:大家都知道裴波那契数列,现在要求输入一个整数n,请你输出裴波那契数列的第n项(从0开始,第0项为0).n<=39 public class Solution { public int F ...
- Linux sed命令使用方法
sed(Stream Editor)是Linux中文本处理使用非常广泛的工具,可以对文件内容进行替换.删除.新增.选取特定行等功能.下面通过sed常用实例介绍sed命令的使用方法. sed基本语法 s ...
- 26.如何使用python操作我们自己创建的docker image呢?
因为逻辑复杂 我们建个文件来 python #是单行注释 '''是多行注释 或者””” 我们想使用python来操作docker 那么就要一个api https://github.com/docker ...
- serclet监听器
1:监听servlet上下文 2:监听会话 3:监听请求 使用,必须是实现对应的接口,然后在web.xml中配置自己写的监听器的实现类 过滤器之后,servlet之前(有待深入研究) 下一集预告:过滤 ...
- jenkins 添加节点问题
没有 Launch agent via Java Web Start 选项 Manage Jenkins > Configure Global Security > TCP port fo ...
- HDU 6351 Naive Operations(线段树)
题目: http://acm.hdu.edu.cn/showproblem.php?pid=6315 Naive Operations Time Limit: 6000/3000 MS (Java/O ...
- Python 测试
(1)import doctest doctest.testmod(verbose=True) (2) pip install tests
- CentOS 6.5下Redis安装测试
NoSQL之Redis - CentOS 6.5安装测试 1.下载redis 可以在线安装或者下载 redis ①在线安装前需要检测是否存在rpm包不存在的话查看yum在线是否存在rpm包不存在的话就 ...
- Collection集合总结,List和set集合的用法,HashSet和LinkedHashSetde用法
首先:Collection是List集合和Set集合的父类,同时,它们三个都为接口,不能直接实例化,所以需要,List和set的子类来实例化. List的子类: ArrayList类和LinkedLi ...