美文网首页
go_os包快速了解

go_os包快速了解

作者: 卖毛玉的小贩 | 来源:发表于2019-07-17 22:45 被阅读0次

文件操作

  • 文件包 os

创建文件

  • func Create(name string) (file *File, err error)
    syscall.Umask(0)//置空 文件创建前对文件权限的置空
    
    • name:路径
    • 返回值
      • file:文件指针,本质上是file结构体
      • err:错误的情况在于当前路径目录权限不够
    • 特性:
      • 文件存在,覆盖源文件 (截断为0) 不存在则创建

关闭文件

  • func (f *File) Close() error
    defer 文件.Close()
    

打开文件相关函数

  • 只读文件打开

    • func Open(name string) (file *File, err error)
      
      • 文件存在:只读打开
      • 文件不存在:报错返回
  • 读写文件打开

    • func OpenFile(name string, flag int, perm FileMode) (file *File, err error)
      
      • 参数:
        • name:路径
        • flag:表示模式
          • O_RDONLY 只读
          • O_WRONLY 只写
          • O_RDWR 可读可写
        • perm:
          • 0 / 666 其他的不推荐

文件写入内容相关函数

  • 写字符串到文件

    • func (f *File) WriteString(s string) (ret int, err error)
      
  • 指定偏移量进行读写

    • func (f *File) Seek(offset int64, whence int) (ret int64, err error)
      
      • offset:偏移量 正:向文件尾偏,负:向文件头偏
      • whence:偏移起始位置
        • 0为相对文件开头 io.SeekStart
        • 1为相对当前位置 io.SeekCurrent
        • 2为相对文件结尾 io.SeekEnd
    • func (f *File) WriteAt(b []byte, off int64) (n int, err error)
      
  • 按字节写

  • func (f *File) Write(b []byte) (n int, err error)
    
    • b:待写入文件的数据内容
    • n:写入的字节个数

读文件

  • 包 bufio

  • 按行读文件

    • func NewReader(rd io.Reader) *Reader
      //rd:文件指针 
      
      func (b *Reader) ReadBytes(delim byte) (line []byte, err error)
      //delim 为\n 则读取当行  io.EOF文件结束
      
      • 缓冲区
        • 提高系统访问磁盘效率
        • 预读入,缓输出
  • 按字节读

    • func (f *File) Read(b []byte) (n int, err error)
      
      • b:空缓冲区,用来存放read实际读到的数据
      • n:实际读到的字节个数

目录操作

打开目录

  • func OpenFile(name string, flag int, perm FileMode) (file *File, err error)
    
    • name:绝对路径名
    • flag:o_rdonly
    • perm:os.ModeDir

读取目录项

  • func (f *File) Readdir(n int) (fi []FileInfo, err error)
    
    • n:读取目录个数 -1 为全部读取
    • fi:目录切片

相关文章

  • go_os包快速了解

    文件操作 文件包 os 创建文件 func Create(name string) (file *File, er...

  • 富贵包疗愈系列三丨后侧力量的激活

    点击链接,了解富贵包的前世今生: 富贵包1 富贵包2 ——今天的动作依然简单,有效,可以快速上手,一起试一试吧。 ...

  • 【r<-高级|实战】学习创建R包

    如果你想要的是快速构建R包骨架,推荐阅读在巨人的肩膀前行 催化R包开发进行学习;如果你想了解更为基本的R包创建知识...

  • 微信热修复 Tinker 快速上手

    前言 希望通过本文能够帮助之前没有接触过 Tinker 的同学,快速了解利用 Tinker 生成及使用补丁包的过程...

  • 短历史·快速了解历史·刘邦(一)

    短历史·快速了解历史·刘邦(一) 短历史系列封面图 【短历史·快速了解历史·刘邦】 【短历史·快速了解历史·刘邦】...

  • “包”你了解。

    很多人买包包的时候,也拿不准什么材质的包比较好,现在就来给大家大概科普一下包包的材质,大家可以根据自己情况来取舍。...

  • 快速学习Python基础知识(4)

    Python 基础部分--了解Python快速了解 Python 基础知识(1)快速学习 Python 基础知识(...

  • 快速学习Python基础知识(3)

    Python 基础部分--了解Python快速了解 Python 基础知识(1)快速学习 Python 基础知识(...

  • 快速了解 Redis

    Redis 是什么 Redis 是一个基于 key - value 的高性能非关系型数据库,类似的还有 Memca...

  • 了解“快速阅读”

    1.“快速阅读”,现大多叫做“全脑速读”。 科学原理早已提示:人的大脑分为左右两部分,各自分管并对不同的信息内容处...

网友评论

      本文标题:go_os包快速了解

      本文链接:https://www.haomeiwen.com/subject/khshlctx.html