美文网首页
文件操作

文件操作

作者: Carrism | 来源:发表于2019-01-05 14:44 被阅读3次

文件操作

目录操作

文件操作的大多数函数都是在os包里面,下面列举几个目录操作:

  • func Mkdir(name string,perm FileMode) error: 创建名称为name的目录,权限设置是perm,例如0777
  • func MkdirAll(path string,perm FileMode)error:根据Path创建多级目录,例如shen/test1/test2
  • func Remove(name string) error:删除名称为name的目录,当目录下有文件或者其他目录是会出错的
  • func RemoveAll(path string)error:根据path删除多级子目录,如果path是单个名称,那么该目录下的子目录全部删除
func main() {
//在当前工程文件下创建目录
    os.Mkdir("demo1",0777)
    os.MkdirAll("demo1/test1/test2",0777)

    err := os.Remove("mytest")
    if err != nil {
        fmt.Println(err)
    }
    os.RemoveAll("demo1/test1/test2")
}

文件操作

  • 建立与打开文件

    1. 新建文件可以通过如下两个方法
      • func Create(name string)(file *File,err error):根据提供的文件名创建新的文件,返回一个文件对象,默认权限是0666文件,可读可写
      • func NewFile(fd uintptr,name string) *File:根据文件描述符创建相应的文件,返回一个文件对象
    2. 通过下面两个方法来打开文件
      • func Open(name string)(file *File,err Error):该方法打开一个名称为name的文件,但是是只读方式,内部实现其实调用了OpenFile
      • func OpenFile(name string,flag int,perm uint32)():打开名称为name的文件,flag是打开方式,只读或读写等,perm是权限
  • 写文件

    1. func (file *File)Write(b []byte)(n int,err Error):写入byte类型的信息到文件中
    2. func (file *File)WriteAt(b []byte,off int64)(n int,err Error):在指定位置开始写入byte类型的信息
    3. func (file *File)WriteString(s string) (ret int,err Error):写入string 信息到文件
  • 读文件

    1. func (file *File)Read(b []byte)(n int,err Error):读取数据到b中
    2. func (file *File)ReadAt(b []byte,off int64)(n int,err Error) :从off开始读取数据到b中
func main() {
    userFile := "demo1/test.txt"
    file,_ := os.Create(userFile)

    for i := 0;i < 10 ;i++  {
        index,_ := file.WriteString("hello world\n")
        file.Write([]byte("just a test\n"))
        fmt.Println("index = ",index)
    }


    file1,_ := os.OpenFile(userFile,os.O_RDWR,0666)
    defer file1.Close()
    b := make([]byte,1024)

    file1.Read(b)
    sourceStr := string(b)
    strArray := strings.Split(sourceStr,"\n")
    strArray = strArray[:len(strArray)-1]
    var desStr string
    for _,temp := range strArray{
        if len(temp) > 0 {
            temp = strings.Join([]string{temp,"2222\n"},"")
            fmt.Printf("temp = %s\n",temp)
            desStr = strings.Join([]string{desStr,temp},"")
        }
    }
    n,err := file1.WriteAt([]byte(desStr),0)
    //n,err := file1.WriteString(desStr)
    if err != nil {
        fmt.Println("写入有误")
    }
    fmt.Printf("n = %d\n",n)
//删除文件
    //os.Remove(userFile)

}

相关文章

  • 文件操作

    文件操作 目标 文件操作的作用 文件的基本操作打开读写关闭 文件备份 文件和文件夹的操作 一. 文件操作的作用 思...

  • 文件和目录处理相关

    文件和目录处理相关 题: 考点:文件操作/写入操作; 延伸:目录操作函数,其他文件操作; 文件读写操作 文件系统函...

  • 09-文件操作

    一、文件操作流程 a.普通文件操作流程: 打开文件 操作文件 关闭文件 b. json文件操作流程: open(文...

  • VBS文件操作

    VBS文件操作'操作文本文件,操作fso对象(文件对象操作) --------------------------...

  • 文件操作

    文件操作:打开文件、读写文件、操作文件内容 写入文件操作:(把大象装入冰箱)1.打开文件 ...

  • 类的补充

    一.复习 1.文件操作a.操作流程:打开文件(open),操作文件,关闭文件with open() as 文件变量...

  • 文件

    目标 文件操作的作用 文件的基本操作打开读写关闭 文件备份 文件和文件夹的操作 一. 文件操作的作用 思考:什么是...

  • 16总 正则表达式

    复习: 1.文件操作a.操作流程: 打开文件(open) --- 操作文件 --- 关闭文件(close)with...

  • 2018-09-10

    01-recode 1.文件操作a.操作流程:打开文件---》操作文件----》关闭文件with open() ...

  • 2018-09-10 day16总结

    1.文件操作 a.操作流程:打开文件(open)-操作文件-关闭文件(close)with open() as 文...

网友评论

      本文标题:文件操作

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