美文网首页
Go语言文件的操作

Go语言文件的操作

作者: 醉酒的姑娘 | 来源:发表于2019-05-10 11:09 被阅读0次
package main

import (
"bufio"
"fmt"
"io"
"os"
)

func main() {

//os.Open 只读方式打开
//fp,err:=os.Open("a.txt")
//os.OpenFile(文件名,打开方式,权限)
//打开方式:  o_rdonly(只读模式) o_wronly(只写模式) o_rdwr(可读可写模式)  o_append(追加模式)
//权限 0 没有任何权限 1 执行权限 2 写权限 3写权限和执行权限 4读权限 5读权限和执行权限 6 读权限和写权限 7读权限写权限执行权限
//fp,err:=os.OpenFile("a.txt",os.O_RDWR,6)

fp,err:=os.Create("a.txt")
if err!=nil{
    fmt.Println("文件创建失败",err)
    return
}

//1 \n不会换行 原因在windows文本文件中换行\r\n 回车
//fp.WriteString("hi\n")
//fp.WriteString("123\r\n")
//fp.WriteString("456")

//2
//slice:=[]byte{'a','b','c','d'}
slice:=[]byte("文件文件\r\n")
count,err1:=fp.Write(slice)
if err1!=nil{
    fmt.Println("失败")
    return
}else {

    fmt.Println(count)
}



//3
//获取光标流位置
//获取文件起始到结尾有多少个字符
//count3,_:=fp.Seek(0,os.SEEK_END)
count3,_:=fp.Seek(0,io.SeekEnd)
//指定位置写入
fp.WriteAt([]byte("hello word"),count3)
fmt.Println(count3)

defer fp.Close()


fpd,err:=os.Open("a.txt")
if err!=nil{
    fmt.Println("失败")
}
buf:=make([]byte,1024*2)
// 1 读取文件 块读取
//n,_:=fp.Read(buf)//读取的长度
//fmt.Println(string(buf[:n]))
//n,_=fp.Read(buf)
//fmt.Println(string(buf[:n]))


//2
for{
    n,err:=fpd.Read(buf)
    if err==io.EOF{//io.eof 文件结尾  返回值 errors.New("EOF")
        break
    }
    fmt.Println(string(buf[:n]))
}


fmt.Println("----------分割线-----------------")

fpd.Seek(0,0)
//3 行读取

//创建文件缓冲区
r:=bufio.NewReader(fpd)
//截取标志‘\n’
sliceh,_:= r.ReadBytes('\n')
fmt.Println(string(sliceh))

fmt.Println("----------分割线-----------------")


fpd.Seek(0,0)
for  {
//遇到‘\n’结束 但是‘\n’也读取进入
buf,errd:=r.ReadBytes('\n')
fmt.Println(string(buf))
if errd!=nil{
    if errd==io.EOF{
        break
    }
    fmt.Println("失败",errd)
}


}

fmt.Println("----------分割线-----------------")

fpd.Seek(0,0)

for{
    str,err2:=r.ReadString('\n')
    fmt.Println(str)
    if(err2==io.EOF){
        break
    }
}

defer fpd.Close()
}

执行结果

14
14
文件文件
hello word
----------分割线-----------------
文件文件

----------分割线-----------------
hello word文件文件

hello word
----------分割线-----------------
文件文件

hello word

相关文章

  • 49.超赞的 Go 语言 INI 文件操作

    超赞的 Go 语言 INI 文件操作

  • Golang 系统调用 syscall

    对于写后端语言来说的人,文件操作是很常见的。go对文件操作的支持非常的好。今天通过go中文件操作记录下syscal...

  • Go语言文件操作

    文件的打开和关闭 os包中提供了方法叫做Open,就是专门用于打开某一个文件的 注意点:如果文件不存在不会自动创建...

  • Go语言文件操作

    如何打开和关闭文件 在Go语言中的OS包提供了一个函数,叫做open,就是专门用来打开文件的 在Go语言中OS包中...

  • Go语言文件操作

    读写文件示例:### 删除文件os.Remove(fname) 创建目录os.Mkdir(dname, os.Mo...

  • Go语言文件操作

    本文主要介绍了Go语言中文件读写的相关操作。 文件是什么? 计算机中的文件是存储在外部介质(通常是磁盘)上的数据集...

  • Go语言文件操作

    本文主要介绍了Go语言中文件读写的相关操作。 文件是什么? 计算机中的文件是存储在外部介质(通常是磁盘)上的数据集...

  • 20-Go语言文件操作

    Go语言操作文件 文件的打开与关闭 文件的打开在Go语言的os包中提供了一个函数, 叫做Open, 就是专门用于打...

  • Go语言文件的操作

    执行结果

  • 《Go语言四十二章经》第三十一章 文件操作与IO

    《Go语言四十二章经》第三十一章 文件操作与IO 作者:李骁 31.1 文件系统 对于文件和目录的操作,Go主要在...

网友评论

      本文标题:Go语言文件的操作

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