日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)GO教程:Go語言純文本文件的讀寫操作

Go語言提供了很多文件操作的支持,在不同場景下,有對(duì)應(yīng)的處理方式,本節(jié)我們來介紹一下文本文件的讀寫操作。

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)曲江免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

寫純文本文件

由于Go語言的 fmt 包中打印函數(shù)強(qiáng)大而靈活,寫純文本數(shù)據(jù)非常簡單直接,示例代碼如下所示:

package main

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

func main() {
    //創(chuàng)建一個(gè)新文件,寫入內(nèi)容
    filePath := "./output.txt"
    file, err := os.OpenFile(filePath, os.O_WRONLY|os.O_CREATE, 0666)
    if err != nil {
        fmt.Printf("打開文件錯(cuò)誤= %v \n", err)
        return
    }
    //及時(shí)關(guān)閉
    defer file.Close()
    //寫入內(nèi)容
    str := "http://c.biancheng.net/golang/\n" // \n\r表示換行  txt文件要看到換行效果要用 \r\n
    //寫入時(shí),使用帶緩存的 *Writer
    writer := bufio.NewWriter(file)
    for i := 0; i < 3; i++ {
        writer.WriteString(str)
    }
    //因?yàn)?writer 是帶緩存的,因此在調(diào)用 WriterString 方法時(shí),內(nèi)容是先寫入緩存的
    //所以要調(diào)用 flush方法,將緩存的數(shù)據(jù)真正寫入到文件中。
    writer.Flush()
}

運(yùn)行上面代碼會(huì)在當(dāng)前目錄下生成一個(gè) output.txt 文件,文件內(nèi)容如下:

http://c.biancheng.net/golang/
http://c.biancheng.net/golang/
http://c.biancheng.net/golang/

讀純文本文件

打開并讀取一個(gè)純文本格式的數(shù)據(jù)跟寫入純文本格式數(shù)據(jù)一樣簡單。要解析文本來重建原始數(shù)據(jù)可能稍微復(fù)雜,這需根據(jù)格式的復(fù)雜性而定。

示例代碼如下所示:

package main

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

func main() {
    //打開文件
    file, err := os.Open("./output.txt")
    if err != nil {
        fmt.Println("文件打開失敗 = ", err)
    }
    //及時(shí)關(guān)閉 file 句柄,否則會(huì)有內(nèi)存泄漏
    defer file.Close()
    //創(chuàng)建一個(gè) *Reader , 是帶緩沖的
    reader := bufio.NewReader(file)
    for {
        str, err := reader.ReadString('\n') //讀到一個(gè)換行就結(jié)束
        if err == io.EOF {                  //io.EOF 表示文件的末尾
            break
        }
        fmt.Print(str)
    }
    fmt.Println("文件讀取結(jié)束...")
}

運(yùn)行結(jié)果如下:

go run main.go
http://c.biancheng.net/golang/
http://c.biancheng.net/golang/
http://c.biancheng.net/golang/
文件讀取結(jié)束...


新聞標(biāo)題:創(chuàng)新互聯(lián)GO教程:Go語言純文本文件的讀寫操作
文章源于:http://m.5511xx.com/article/dpgdpgi.html