文件操作

创建文件:
func Create(name string) (*File, error)

  • 路径可以是绝对路径,也可以是相对路径
  • 创建文件的权限是0666,然后经过文件掩码运算
  • 覆盖已经存在的文件

文件掩码设置:
func Umask(newUmask string)(int)

  • 返回旧的文件掩码
  • 新掩码一般设置为022

打开文件:
func Open(name string) (*File, error)

  • 只读方式打开文件
  • 记得关闭

获取一个文件或文件夹的信息:
func Stat(name string) (FileInfo, error)

读取文件:
func (f *File) Read(b []byte) (n int, err error)
举例来说:

file, err := os.Open("/home/za/new.txt")
defer file.Close()
if err != nil {
	fmt.Println("Open file err : ", err)
	return
}
//读取缓冲区
buf := make([]byte, 4096)
	for{
	//读取文件数据到缓冲区
	n, err := file.Read(buf)
	if err != nil && err != io.EOF {
		fmt.Println("File read err : ", err)
		return
	}
	//文件读取结束
	if n == 0 {
		fmt.Println("文件读取结束")
		return
	}
}

写入文件:
func OpenFile(name string, flag int, perm FileMode) (*File, error)

  • flag参数可以是O_RDONLY 、O_RDWR 、O_APPEND 、O_CREATE ,可以用 | 组合。
  • perm设置文件创建时的权限,该权限在结合umask之前

按字节切片写入数据:
func (f *File) Write(b []byte) (n int, err error)

按字符串写入数据:
func (f *File) WriteString(s string) (n int, err error)

设置文件指针的位置:
func (f *File) Seek(offset int64, whence int) (ret int64, err error)

  • offset偏移量
  • whence:0表示从文件开头。1表示文件指针当前位置。2表示从文件结尾开始。
  • 返回值为新的文件指针位置和相应错误
ioutils包

读取文件:
func ReadFile(filename string) ([]byte, error)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值