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 ...
随机推荐
- C#图像处理:截图程序(包含鼠标)
截图后在picbox中显示,用定时器定时每毫秒截图一次,在picbox上显示就有动画效果.代码: [DllImport("user32.dll")] static extern b ...
- python基础学习Day11 函数名的应用、闭包、迭代器
一.函数名的应用 1.函数名就是函数的内存地址 def func(): print(666) func() print(func) #函数的内存地址 2.函数名可以作为变量 def func1(): ...
- Linux初学时的一些常用命令(4)
1. 磁盘 查看当前磁盘使用情况 df -h 查看某个文件大小 du -sh 文件名 如果不输入文件名,默认是当前目录的所有文件之和,即当前目录大小 2. 系统内存 free 参数详解:https:/ ...
- SPSS-生存分析
生存分析 定义:一些医学事件所经历的时间:从开始观察到事件发生的时间,不是短期内可以明确判断的.针对这类生存资料的分析方法叫生存分析.生存分析的基本概念1.终点事件终点事件outcome event: ...
- JAVA语言 第四周
oh my god! 说实话,上周的目标没有完成. 这一周过的太随便了,比刚放假时候的热情减少的太多了. 具体干了啥,就不说了吧.好像什么完整的事都没有干~~~~~ 不过一直在完善代码,已经能实现部分 ...
- Springboot 静态资源
说下默认映射的文件夹有: classpath:/META-INF/resources classpath:/resources classpath:/static classpath:/public ...
- JUC(java.util.concurrent)
在 Java 5.0 提供了 java.util.concurrent (简称JUC )包,在此包中增加了在并发编程中很常用的实用工具类,用于定义类似于线程的自定义子系统,包括线程池.异步 IO 和轻 ...
- centos7下解压bz2文件
已有python2.7.5 已有yum 1.安装bzip2 yum install -y bzip2 2.改变压缩格式 bunzip2 dlib-19.13.tar.bz2 3.解压 tar -xf ...
- CSS中的通用字体
往往设计师在设计时一厢情愿地去思考问题,那样会带来很多潜在的麻烦.事实上你可以为网页设计任意字体,包括艺术字体.也许你的计算机中已经安装了很多字体,但是不能够保证所有的浏览者都已经安装了相同的字体,因 ...
- MVC001之mvcpager简单分页
描述:用mvcpager实现简单分页功能 参考网址: http://www.cnblogs.com/iamlilinfeng/archive/2013/03/11/2951460.html http: ...