golang io操作之写篇

/**
 * @author livalon
 * @data 2018/9/4 15:11
 */
package main

import (
    "os"
    "fmt"
    "io"
    "encoding/json"
)

func main() {
    var a [][]float64
    num :=10
    for i:=0;i<num ;i++  {
        var temp []float64
        for i:=0;i<num ;i++ {
            temp = append(temp, float64(i))
        }
        a = append(a, temp)
    }

    json_a,_:=json.Marshal(a)
    string_a:=string(json_a)

    var filename = "./output1.txt"
    var f *os.File
    var err1 error
    /***************************** 第一种方式: 使用 io.WriteString 写入文件 ***********************************************/
    if checkFileIsExist(filename) { //如果文件存在
        f, err1 = os.OpenFile(filename, os.O_APPEND, 0666) //打开文件
        fmt.Println("文件存在")
    } else {
        f, err1 = os.Create(filename) //创建文件
        fmt.Println("文件不存在")
    }
    check(err1)
    n, err1 := io.WriteString(f, string_a) //写入文件(字符串)
    check(err1)
    fmt.Printf("写入 %d 个字节n", n)

}

func checkFileIsExist(filename string) bool {
    var exist = true
    if _, err := os.Stat(filename); os.IsNotExist(err) {
        exist = false
    }
    return exist
}

func check(e error) {
    if e != nil {
        panic(e)
    }
}

 

posted @ 2018-10-10 09:52  livalon1  阅读(309)  评论(0编辑  收藏  举报