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 ...
随机推荐
- MySql出现大量LAST_ACK的解决办法
前几日生产环境遇到一问题,网站的同步登录部分提示Can’t connect to MySQL server on ‘localhost’ (10060),第一反应就是可能过连接数据库的相关参数了,经检 ...
- 使用xshell xftp连接centos的过程。
1 配置网络 登录Centtos系统,配置网卡. cd 空格/etc/sysconfig/network-scripts 回车键. ls 查看文件 vi ifcig-eth0 编辑这个文件 修改为 ...
- sql help cs
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Confi ...
- 检测浏览器是否支持cookie功能
<script> if(navigator.cookieEnabled) { document.write("你的浏览器支持cookie功能!"); } else{ d ...
- ANg-线性回归算法
线性回归算法 linear regression 对于线性回归模型,我们期望对于样本数据集,通过假设函数,得出目标值 代价函数 m在这里指的是训练样本的数量 所以我们的目的就是得出代价函数(平方误差代 ...
- android 组合方式自定义控件
实现了<android 群英传>的TopBar的小实例.效果图如下: 记录下来,方便下次查看.主要的原理是将2个Button和一个TextView组合在一个RelativeLayout之中 ...
- python模拟线性回归的点
构造符合线性回归的数据点 import numpy as np import tensorflow as tf import matplotlib.pyplot as plt # 随机生成1000个点 ...
- hdu5505-GT and numbers-(贪心+gcd+唯一分解定理)
GT and numbers Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- 零基础用Docker部署微服务
1. docker架构 这里的Client和DOCKER_HOST(docker server)都是在本地的,docker仓库Registry是在远程的: Client的docker命令通过Docke ...
- MFC笔记1
1.在对话框文档中定义两个定时器,每间隔5秒弹出一个消息框提示“定时器1”,每隔5秒弹出一个消息框提示“定时器2” UINT ID_TIMER1 = 1 , ID_TIMER2 = 2; //设置 ...