Go语言文件写入

Go语言文件写入

文件写入

文件写入常用函数和方法:

Open打开一个文件用于读取。如果操作成功,返回的文件对象的方法可用于读取数据;对应的文件描述符具有O_RDONLY模式。如果出错,错误底层类型是*PathError。

OpenFile是一个更一般性的文件打开函数,大多数调用者都应用Open或Create代替本函数。它会使用指定的选项(如O_RDONLY等)、指定的模式(如0666等)打开指定名称的文件。如果操作成功,返回的文件对象可用于I/O。如果出错,错误底层类型是*PathError。

打开标记:

文件权限(unix权限位):只有在创建文件时才需要,不需要创建文件可以设置为 0。os库虽然提供常量,但是我一般直接写数字,如0664。

如果你需要设置多个打开标记和unix权限位,需要使用位操作符"|"

Write向文件中写入len(b)字节数据。它返回写入的字节数和可能遇到的任何错误。如果返回值n!=len(b),本方法会返回一个非nil的错误。

WriteAt在指定的位置(相对于文件开始位置)写入len(b)字节数据。它返回写入的字节数和可能遇到的任何错误。如果返回值n!=len(b),本方法会返回一个非nil的错误。

WriteString类似Write,但接受一个字符串参数。

代码实现:

运行结果:

cat file2.txt

缓冲写入

bufio包实现了有缓冲的I/O。它包装一个io.Reader或io.Writer接口对象,创建另一个也实现了该接口,且同时还提供了缓冲和一些文本I/O的帮助函数的对象。

缓冲写入常用函数和方法:

NewWriter创建一个具有默认大小缓冲、写入w的*Writer。

NewWriterSize创建一个具有最少有size尺寸的缓冲、写入w的Writer。如果参数w已经是一个具有足够大缓冲的Writer类型值,会返回w。

Reset丢弃缓冲中的数据,清除任何错误,将b重设为将其输出写入w。

Write将p的内容写入缓冲。返回写入的字节数。如果返回值nn

WriteString写入一个字符串。返回写入的字节数。如果返回值nn

WriteByte写入单个字节。

WriteRune写入一个unicode码值(的utf-8编码),返回写入的字节数和可能的错误。

Buffered返回缓冲中已使用的字节数。

Available返回缓冲中还有多少字节未使用。

Flush方法将缓冲中的数据写入下层的io.Writer接口。

代码实现:

运行结果:

cat file.txt

指定文件写入

使用 io/ioutil 包向指定的文件中写入数据

指定文件写入常用函数:

函数向filename指定的文件中写入数据。如果文件不存在将按给出的权限创建文件,否则在写入数据之前清空文件。

os.FileMode 代表文件的模式和权限位。

这些字位在所有的操作系统都有相同的含义,因此文件的信息可以在不同的操作系统之间安全的移植。

不是所有的位都能用于所有的系统,唯一共有的是用于表示目录的ModeDir位。

这些被定义的位是FileMode最重要的位。

另外9个不重要的位为标准Unix rwxrwxrwx权限(任何人都可读、写、运行)。

这些(重要)位的值应被视为公共API的一部分,可能会用于线路协议或硬盘标识:它们不能被修改,但可以添加新的位。

代码实现:

下一篇:

Go语言文件读取------敬请期待!

第十一章 并发编程

第十二章 反射

第十三章 数据格式

第十四章 终端读取

第十五章 文件操作

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181217G19S0D00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券