一、OS包的作用
os包中的API主要可以帮助我们使用操作系统中的文件系统、权限系统、环境变量、系统进程,以及系统信号。
os.File
os.File
二、os.File类型实现了哪些io包的接口
os.File
*os.Fileio.Readerio.Writerio.Closer*os.Fileio.ReaderAtio.Seekerio.WriterAt*os.Fileio.ReadWriterio.ReadCloserio.ReadSeekerio.ReadWriteCloserio.ReadWriteSeekerio.WriteCloserio.WriteSeeker
*os.Fileio.ByteReaderio.RuneReaderio.ByteScannerio.RuneScanner
os.File
三、创建os.File类型的指针类型
在os包中,有这样几个函数:Create、NewFile、Open和OpenFile。
3.1 os.Create
os.Create
使用这个函数创建的文件,对于操作系统中的所有用户来说,都是可以读和写的。
os.Create*os.PathError
3.2 os.NewFile
该函数在被调用的时候,需要接受一个代表文件描述符的uintptr类型的值,以及一个用于表示文件名的字符值。
- 如果给定的文件描述符不是有效的,那么函数将返回nil。否则,它将会返回一个代表了相应文件的File值;
这个函数的功能并不是创建一个新的文件,而是依据一个已经存在的文件描述符,来新建一个包装了该文件的File值。
3.3 os.Open
os.Open
换句话说,我们只能从该函数返回的File值中读取内容,而不能向它写入任何内容。
如果调用它的任何一个写入方法,都会得到一个表示“坏的文件描述符”的错误值。
os.File
3.4 os.OpenFile
os.OpenFileos.Openos.Create
这个函数有3个参数:
os.O_RDONLYos.FileMode
操作模式限定了文件的方式,权限模式控制文件的访问权限。
四、os.File值的操作模式有哪些
针对File值的操作模式主要有:只读模式、只写模式和读写模式。
os.O_RDONLYos.O_WRONLYos.O_RDWR
更多的操作模式:
os.O_APPEDNos.O_CREATEos.O_EXCLos.O_CREATEos.O_SYNC os.O_TRUNC
|
五、os.OpenFile的第三个表示模式的参数
os.OpenFileos.FileModeos.FileMode
os.FileMode
os.ModeDiros.ModeNamedPipe
os.FileMode
os.FileModeos.ModePerm
这9个比特位,3个为一组,共3组。从高到低,分别表示:文件所有者(创建文件的那个用户)、文件所属的用户组、用户对该文件的访问权限。而对于每个组,其中的3个比特位从高到低分别表示:读权限、写权限、执行权限。
某个比特位上是1,表示相应的权限开启,否则,就表示相应的权限关闭。
- 八进制整数0777就表示:操作系统中的所有用户都对当前的文件有读、写和执行的权限;
- 而八进制整数0666则表示:所有用户都对当前文件有读和写的权限,但都没有执行的权限。
但要注意,只有在新建文件的时候,这里的第三个参数值才是有效的。在其他情况下,即使我们设置了此参数,也不会对目标文件产生任何的影响。