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语言中的文件创建,写入,读取,删除的更多相关文章

  1. Go语言中利用append巧妙的删除slice切片中的元素

    package main import ( "fmt" ) //删除函数 func remove(s []string, i int) []string { return appe ...

  2. C语言操作注册表 写入 读取信息

    #include <stdio.h>#include <windows.h>int main(void){char regname[]="Software\\Micr ...

  3. C语言中文件的读取和写入

    在C语言中写文件 //获取文件指针 FILE *pFile = fopen("1.txt", //打开文件的名称 "w"); // 文件打开方式 如果原来有内容 ...

  4. jquery.cookie() 方法的使用(读取、写入、删除)

    一个轻量级的cookie 插件,可以读取.写入.删除 cookie. jquery.cookie.js 的配置 首先包含jQuery的库文件,在后面包含 jquery.cookie.js 的库文件. ...

  5. Python Cookbook(第3版)中文版:15.19 从C语言中读取类文件对象

    15.19 从C语言中读取类文件对象¶ 问题¶ 你要写C扩展来读取来自任何Python类文件对象中的数据(比如普通文件.StringIO对象等). 解决方案¶ 要读取一个类文件对象的数据,你需要重复调 ...

  6. 正整数构成的线性表存放在单链表中,编写算法将表中的所有的奇数删除。(C语言)

    /* 正整数构成的线性表存放在单链表中,编写算法将表中的所有的奇数删除 */ #include <stdio.h> #include <stdlib.h> typedef st ...

  7. c语言中的文件流

    一.打开和关闭文件 #include int main( void ) { FILE* pReadFile = fopen( "E:\\mytest.txt", "r&q ...

  8. C语言中的栈和堆

    原文出处<http://blog.csdn.net/xiayufeng520/article/details/45956305#t0> 栈内存由编译器分配和释放,堆内存由程序分配和释放. ...

  9. C语言中的字符串

    字符串 字符串 用双引号引起来的多个字符. 在C语言中字符串是用’\0’结束的.即每个字符串的最后一个字符是’\0’,但是结束符不显示,仅仅标志该字符串到这儿就结束了. 二.声明字符串 char *s ...

随机推荐

  1. Nginx使用GZIP来压缩网页

    HTTP协议上的GZIP编码是一种用来改进web应 用程序性能的技术.大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度.这一般是指WWW服务器中安装的一个功能,当有人来访问这个服务器中 ...

  2. Spark安装过程纪录

    1 Scala安装 1.1 master 机器 修改 scala 目录所属用户和用户组. sudo chown -R hadoop:hadoop scala 修改环境变量文件 .bashrc , 添加 ...

  3. winform中datagridview刷新后的排序记忆

    datagridview先点标题排序,但是重新刷新之后,还是变成窗体加载后的样子 我这里用定时器刷新的. 1.先定义三个全局变量 /// <summary> /// 需要排序的列和方向 / ...

  4. 主流浏览器 Cookie 的大小

    目前测试的两种浏览器:Chrome 和 IE . 环境:IIS 7.5 只创建了站点,未做任何配置. Chrome : v36.0.1985.143 m 单个 Cookie 的长度为 4069 个字符 ...

  5. python3.6安装-windows

    1.打开python官网 2.找到下载链接 3.选择对应的版本下载 4.下载完成后打开安装包并执行,运行出该界面. 5.这里是安装到C盘上(默认安装) 6.此处为自定义安装 7.选择自定义安装,并全选 ...

  6. led 的 platform驱动实现

    http://www.linuxidc.com/Linux/2014-03/97756.htm http://blog.sina.com.cn/s/blog_6b94d5680101cn0t.html ...

  7. Redis原子计数器incr

    一.前言在一些对高并发请求有限制的系统或者功能里,比如说秒杀活动,或者一些网站返回的当前用户过多,请稍后尝试.这些都是通过对同一时刻请求数量进行了限制,一般用作对后台系统的保护,防止系统因为过大的流量 ...

  8. maven <scope>provided</scope>

    今天开发web的时候,需要用到servlet-api,于是在pom.xml中添加依赖 <dependency> <groupId>javax.servlet</group ...

  9. C# delegate (001)

    背景:一直不是很理解C#中的委托,也不是很清楚委托应用的业务场景,有可能和自己一直做B/S有关 业务描述:C/S,父窗口打开子窗口,子窗口把自己文本框里的值传个父窗口的文本框. 子窗体代码: //定义 ...

  10. Linux下鼠标滚轮速度调整

    安装imwheel 于home下创建.imwheelrc gedit ~/.imwheelrc 在.imwheelrc中粘贴以下内容 ".*" None, Up, Button4, ...