美文网首页
golang 文件操作

golang 文件操作

作者: copyLeft | 来源:发表于2019-08-23 09:43 被阅读0次

    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 文件操作

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