go语言中的文件创建,写入,读取,删除
package main; import (
"os"
"fmt"
"strconv"
) func main() { //打开文件,返回文件指针
file, error := os.Open("./1.txt");
if error != nil {
fmt.Println(error);
}
fmt.Println(file);
file.Close(); //以读写方式打开文件,如果不存在,则创建
file2, error := os.OpenFile("./2.txt", os.O_RDWR|os.O_CREATE, 0766);
if error != nil {
fmt.Println(error);
}
fmt.Println(file2);
file2.Close(); //创建文件
//Create函数也是调用的OpenFile
file3, error := os.Create("./3.txt");
if error != nil {
fmt.Println(error);
}
fmt.Println(file3);
file3.Close(); //读取文件内容
file4, error := os.Open("./1.txt");
if error != nil {
fmt.Println(error);
}
//创建byte的slice用于接收文件读取数据
buf := make([]byte, 1024);
//循环读取
for {
//Read函数会改变文件当前偏移量
len, _ := file4.Read(buf); //读取字节数为0时跳出循环
if len == 0 {
break;
} fmt.Println(string(buf));
}
file4.Close(); //读取文件内容
file5, error := os.Open("./1.txt");
if error != nil {
fmt.Println(error);
}
buf2 := make([]byte, 1024);
ix := 0;
for {
//ReadAt从指定的偏移量开始读取,不会改变文件偏移量
len, _ := file5.ReadAt(buf2, int64(ix));
ix = ix + len;
if len == 0 {
break;
} fmt.Println(string(buf2));
}
file5.Close(); //写入文件
file6, error := os.Create("./4.txt");
if error != nil {
fmt.Println(error);
}
data := "我是数据\r\n";
for i := 0; i < 10; i++ {
//写入byte的slice数据
file6.Write([]byte(data));
//写入字符串
file6.WriteString(data);
}
file6.Close(); //写入文件
file7, error := os.Create("./5.txt");
if error != nil {
fmt.Println(error);
}
for i := 0; i < 10; i++ {
//按指定偏移量写入数据
ix := i * 64;
file7.WriteAt([]byte("我是数据"+strconv.Itoa(i)+"\r\n"), int64(ix));
}
file7.Close(); //删除文件
del := os.Remove("./1.txt");
if del != nil {
fmt.Println(del);
} //删除指定path下的所有文件
delDir := os.RemoveAll("./dir");
if delDir != nil {
fmt.Println(delDir);
}
}
go语言中的文件创建,写入,读取,删除的更多相关文章
- Go语言中利用append巧妙的删除slice切片中的元素
package main import ( "fmt" ) //删除函数 func remove(s []string, i int) []string { return appe ...
- C语言操作注册表 写入 读取信息
#include <stdio.h>#include <windows.h>int main(void){char regname[]="Software\\Micr ...
- C语言中文件的读取和写入
在C语言中写文件 //获取文件指针 FILE *pFile = fopen("1.txt", //打开文件的名称 "w"); // 文件打开方式 如果原来有内容 ...
- jquery.cookie() 方法的使用(读取、写入、删除)
一个轻量级的cookie 插件,可以读取.写入.删除 cookie. jquery.cookie.js 的配置 首先包含jQuery的库文件,在后面包含 jquery.cookie.js 的库文件. ...
- Python Cookbook(第3版)中文版:15.19 从C语言中读取类文件对象
15.19 从C语言中读取类文件对象¶ 问题¶ 你要写C扩展来读取来自任何Python类文件对象中的数据(比如普通文件.StringIO对象等). 解决方案¶ 要读取一个类文件对象的数据,你需要重复调 ...
- 正整数构成的线性表存放在单链表中,编写算法将表中的所有的奇数删除。(C语言)
/* 正整数构成的线性表存放在单链表中,编写算法将表中的所有的奇数删除 */ #include <stdio.h> #include <stdlib.h> typedef st ...
- c语言中的文件流
一.打开和关闭文件 #include int main( void ) { FILE* pReadFile = fopen( "E:\\mytest.txt", "r&q ...
- C语言中的栈和堆
原文出处<http://blog.csdn.net/xiayufeng520/article/details/45956305#t0> 栈内存由编译器分配和释放,堆内存由程序分配和释放. ...
- C语言中的字符串
字符串 字符串 用双引号引起来的多个字符. 在C语言中字符串是用’\0’结束的.即每个字符串的最后一个字符是’\0’,但是结束符不显示,仅仅标志该字符串到这儿就结束了. 二.声明字符串 char *s ...
随机推荐
- mysql如何出查出最近7天,最近30天,最近n天的记录?
已查询浏览量为例:原始数据如下: 思路分析:数据有了,统计某一天的浏览量,所有浏览量,或固定时间段内的浏览量在这里我们就不多说了,大家都会,那我们是如何将最近七天的数据统计出来呢? 首先,我们说的最近 ...
- 常用dos命令和windows系统快捷键
一.dos命令[重难点]1.OS——操作系统2.如何进入dos窗口?——P111 开始——程序——运行——输入cmd3.常用的dos操作命令 3.1 返回上一级 cd.. 3.2 返回到根目录 cd\ ...
- ArcGIS案例学习笔记-批处理擦除挖空挖除相减
ArcGIS案例学习笔记-批处理擦除挖空挖除相减 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:批处理擦除.挖空.挖除.相减 数据源:chp13/ex5/pa ...
- hibernate 工作原理及为什么要用
- 2019.2.4 nfs原理和安装实验
NFS 访问一个本地文件还是NFS共享文件对于客户端而言都是透明的,当文件打开的瞬间,内核会作出一个决定,如果是本地文件内核会将本地NFS共享文件内核会将NFS共享文件的所有引用传递给——>NF ...
- anchor_generator.proto:11:3: Expected "required", "optio nal", or "repeated"
转自:https://github.com/tensorflow/models/issues/1834 When I use the commond " protoc object_dete ...
- 零基础用Docker部署微服务
1. docker架构 这里的Client和DOCKER_HOST(docker server)都是在本地的,docker仓库Registry是在远程的: Client的docker命令通过Docke ...
- @JsonInclude(JsonInclude.Include.NON_NULL) 加在对象上
@JsonInclude(JsonInclude.Include.NON_NULL) public class ViewWorkermessage implements Serializable { ...
- pytest 学习笔记一:参数化与组织分层
组织分层: 1.普通方式,和unittest分层类似: setup_module() # 通常放在类外 setup_class(cls) setup(self) teardown(self) tea ...
- 搭建harbor仓库、LDAP认证
ldap: 192.168.199.177 c5game.com 宿主机:192.168.199.224 测试客户机:192.168.199.223 安装docker.docker-compose 访 ...