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语言文件读取------敬请期待!
第十一章 并发编程
第十二章 反射
第十三章 数据格式
第十四章 终端读取
第十五章 文件操作
领取专属 10元无门槛券
私享最新 技术干货