iT邦幫忙

4

蠻可愛的golang #37 基本輸出入介紹之讀取檔案

今天示範開啟檔案,循序讀入並列印.

// hello42
package main

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

func main() {
	// 開檔
	inputFile, Error := os.Open("input.txt")
	// 判斷是否開檔錯誤
	if Error != nil {
		fmt.Println("開檔錯誤!")
		return
	}
	// 離開時自動執行關檔
	defer inputFile.Close()
	// 宣告行計數器
	cnt := 1
	//
	inputReader := bufio.NewReader(inputFile)
	//^^^^^^^^^^^         ^^^^^^^   ^^^^^^^
	// 緩衝輸入物件        建立函數   來源:已開啟檔案

	// 用迴圈讀取檔案內容
	for {
		// 讀取字串直到遇到跳行符號
		inputString, Error := inputReader.ReadString('\n')
		// 若到檔尾時分發生  io.EOF 錯誤
		// 根據此錯誤 判斷是否離開
		if Error == io.EOF {
			fmt.Println("已讀取到檔尾!!")
			return
		}
		// 列印內容
		fmt.Printf("第%2d行:%s\n", cnt, inputString)
		cnt++
	}
}

執行結果:

λ ./hello42 
第 1行:玉面飛鷹倒拔垂楊柳 豹子頭誤入白虎堂

第 2行:林教頭刺配滄州道  玉面飛鷹大鬧野豬林

已讀取到檔尾!!

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
賽門
iT邦超人 1 級 ‧ 2014-08-20 15:41:47

今天的劇情好大場面啊~~

0
老鷹(eagle)
iT邦高手 1 級 ‧ 2014-08-20 15:41:47

第 1行:玉面飛鷹倒拔垂楊柳 豹子頭誤入白虎堂

第 2行:林教頭刺配滄州道 玉面飛鷹大鬧野豬林

怎麼感覺玉面飛鷹變成魯智深了....

外獅佬 iT邦大師 1 級 ‧ 2014-08-21 16:09:58 檢舉

最後話...死老鷹能走生小雨毆飛

0
一級屠豬士
iT邦大師 1 級 ‧ 2014-08-20 15:42:54

玉面飛鷹亂入水滸傳 哈哈

我要留言

立即登入留言