golang 文件操作

直立猿 · · 1558 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

golang 文件操作

获取文件大小

  • "path/filepath"

import (

    "path/filepath"

)

func GetFileSize(filename string) int64 {
    
    var size int 64
    
    filepath.Walk(filename, func(path string, f os.FileInfo, err error) error {
        if err != nil{
            return err
        }else{
            result = f.size();
            return nil
        }
    })
    
    return result;
}


读取文件

import (
"fmt"
"os"
)

func ReadFile(){
filePath := './data.json';
fileContent := '';

//开辟缓存区
dataCache := make([]byte, 1000);

// 打开文件
file, fileErr := os.OpenFile(filepath, os.O_RDWR, 0777);


// 关闭文件
defer func() {
    if fileErr != nil{
        File.Close()
    }
}


if fileErr != nil{
    fmt.Println("error:", fileErr)
}else{
    
    // 向缓存区写入数据
    readSize, readErr := file.Read(dataFile);
    
    if readErr != nil {
        fmt.Println("readErr", readErr);
    }else{
        // 转为字符
        fileContent = string(dataFile);
        fmt.Println("file content", fileContent)
    }
    
    
}

}

写入文件

func WriteFile(){
filepath := './data.json'
newMsg := []byte("\n new msg from wirte func")

// 打开文件,选择可写入模式
file, fileErr := os.OpenFile(filepath, os.O_APPEND, 0777);

// 结束关闭文件
defer func(){
    if fileErr == nil{
        file.Colse()
    }
}


if fileErr != nil {
    fmt.Println(fileErr)
}else{
    
    // 写入信息
    WriteSize, writeErr := file.Write(msg);
    fmt.Println(writeSize, writeErr);
}

}


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:直立猿

查看原文:golang 文件操作

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1558 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传