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);
	}
}

  

时间: 2024-10-09 23:28:23

go语言中的文件创建,写入,读取,删除的相关文章

文件创建 数据写入 读取 删除

// 创建文件路径   (有三种沙盒路径,根据需求 请自选) NSArray * paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); NSString * cachPath = [[paths objectAtIndex:0]stringByAppendingPathComponent:@"HYC.txt"]; NSFileManager * fileManager

IOS Plist文件操作之写入/读取/删除

写入数据到plist文件   //获取路径对象     NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);     NSString *path = [pathArray objectAtIndex:0];     //获取文件的完整路径     NSString *filePatch = [path stringByAppendingPathC

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

package main import ( "fmt" ) //删除函数 func remove(s []string, i int) []string { return append(s[:i], s[i+1:]...) } func main() { s := []string{"a", "b", "c"} fmt.Println(s) s = remove(s, 1) fmt.Println(s) } 原文地址:http

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

#include <stdio.h>#include <windows.h>int main(void){char regname[]="Software\\Microsoft\\Windows\\CurrentVersion\\Run";HKEY hkResult;int ret=RegOpenKey(HKEY_LOCAL_MACHINE,regname,&hkResult); ret=RegSetValueEx(hkResult,"hack

day20 java 语言中的读取写入数据(一)

day20  java 语言中的读取写入数据(一) 一.io概述 io数据流的读写功能,在实际的生活中也很常见,比如文件的上传.下载,日志的自动更新等都与io读写密切相关.io又被分为了读取数据和写入数据两个大的功能.下面就来看看读取数据的几种类. 二.读取数据的几种方式 读取数据被分为了字节流读取数据,和字符流读取数据两种. (一):字符输入流: 1.fileReader类.是字符流读取数据 2.BufferedReader类.带有缓冲流读取数据 (二):字节输入流: 1.FileInputS

day21 java 语言中的读取写入数据(二)

day21  java 语言中的读取写入数据(二) 一.概述: 使用IO流写文件,就体现的是下载的功能.所以说很有必要单独说一下. 二.写入功能:(下载) 写入功能同样也是被分隔为了字符流写入和字节流写入两个方式. (一):字符流写入数据 1.FileWriter类. 2.bufferedwriter类.带缓冲流 (二):字节流写入数据 1.FileOutputStream类. 2.bufferoutputstream类.带有缓冲流 三.具体实例     (一):字符流写入数据 //io数据流输

文件创建读取 删除

在ASP.NET中,文件处理的整个过程都是围绕着System.IO 这个名称空间展开的.这个名称空间中具有执行文件读.写所需要的类.本文从最基本的操作开始,解释在ASP.NET中文件处理的概念,包括如从一个文件中读取内容.如何向一个文件中写入内容和如何删除一个文件. 前面已经提到,要想在ASP.NET 页面中进行文件处理,必须要有"System.IO"名称空间.所以,第一步就是引入这个名称空间: <%@ Import Namespace="System.IO"

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

jquery.cookie() 方法:一个轻量级的cookie 插件,可以读取.写入.删除 cookie,下面有个不错的数量,大家可以学习下 一个轻量级的cookie 插件,可以读取.写入.删除 cookie. jquery.cookie.js 的配置 首先包含jQuery的库文件,在后面包含 jquery.cookie.js 的库文件. <script type="text/javascript" src="js/jquery-1.6.2.min.js"&g

sqlite学习笔记11:C语言中使用sqlite之删除记录

最后一节,这里记录下如何删除数据. 前面所有的代码都继承在这里了,在Ubuntu14.04和Mac10.9上亲测通过. #include <stdio.h> #include <stdlib.h> #include "sqlite/sqlite3.h" #define DB_NANE "sqlite/test.db" sqlite3 *db = NULL; char* sql = NULL; char *zErrMsg = NULL; con