os包是操作文件和目录的包。
io的接口Reader,用于从数据源中读取数据并将数据转换成字节流,Writer接口字节流中读取数据,并将数据作为输出写入目标数据源。
创建空文件
结果:
C:\golang\working-with-files>go fmt example1.go
C:\golang\working-with-files>golint example1.go
C:\golang\working-with-files>go run example1.go
2018/08/11 15:46:04 &{0xc042060780}
C:\golang\working-with-files>
如果目录不存在则创建
重命名文件
结果:
C:\golang\working-with-files>go fmt example.go
C:\golang\working-with-files>golint example.go
C:\golang\working-with-files>go run example.go
C:\golang\working-with-files>
移动文件
os. Rename ()可以用来移动并重命名文件
复制文件
结果:
[root@server src]# clear
[root@server src]# go run example6.go
2018/08/15 03:43:39 Copied 100 bytes.
[root@server src]#
获取文件信息
结果:
C:\golang\working-with-files>go fmt example.go
example.go
C:\golang\working-with-files>golint example.go
C:\golang\working-with-files>go run example.go
File Name: test.txt
Size: 100
Permissions: -rw-rw-rw-
Last Modified: 2018-08-11 20:19:14.2671925 +0530 IST
Is Directory: false
C:\golang\working-with-files>
删除文件
按字符读取文件内容
截断文件大小
os.Truncate()用于截断文件到N个字节,N由第二个参数指定。 以下的例子显示文件1Kb(100 byte)之后的内容被截去。
结果:
C:\golang\working-with-files>go fmt example10.go
C:\golang\working-with-files>golint example10.go
C:\golang\working-with-files>go run example10.go
C:\golang\working-with-files>
添加内容到文件末尾
更改文件权限、所有权和时间戳
压缩多个文件到 Zip 压缩包
从Zip压缩包读取文件列表
解压Zip压缩包