文件

作者: BridgeXD | 来源:发表于2019-04-18 23:16 被阅读0次

    1、文件创建 os.Create

    func createFile() {
        //文件名
        //返回值是文件指针 错误信息
        //如果文件不存在 会创建新 存在 则清空源文件内容
        // \:转义字符 G:/file=G:\\file
        fp, err := os.Create("G:/file/dawn.txt")
        if err != nil {
            //1、路径不存在
            // 2、文件权限
            // 3、程序打开文件上限 65535
            fmt.Println("文件创建失败")
            return
        }
        //文件关闭
        //如果打开文件不关闭,造成内存浪费 文件打开上限
        defer fp.Close()
    }
    

    2、写入

    • 1、字符串
    fp.WriteString("hello \r\nworld")
    
    • 2、字符切片
    slice := []byte{'h', 'e'}
    slice2 := []byte("fass")
    fp.Write(slice)
    fp.Write(slice2)
    

    3、获取光标位置

    //获取文件起始到结尾有多少字符
    count, _ := fp.Seek(0, io.SeekEnd)
    fp.WriteAt(slice, count)
    

    打开方式: O_RDONLY, O_WRONLY, O_RDWR, O_APPEND
    打开权限: 6、rw读写, 7、rwx读写执行

    os.OpenFile("G:/file/dawn.txt",os.O_RDWR,6)
    
    file, err := os.Open("G:/file/dawn.txt")//只读
    

    3、读取

    • 1、块读取
    //块读取
    buf := make([]byte, 4)
    
    for {
        n, err := file.Read(buf)
        if err == io.EOF {
            break
        }
        fmt.Print(string(buf[:n]))
    }
    
    • 2、行读取
    //创建文件缓冲区
    reader := bufio.NewReader(file)
    b, _ := reader.ReadBytes('\n')
    fmt.Println(string(b))
    

    相关文章

      网友评论

          本文标题:文件

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