(1)輸入流函數
(2)手動建立流工具
//Learn_Go/main.go package main import ( "fmt" "strings" ) func main() { r := strings.NewReader("hello world") b := make([]byte,r.Size()) n,err := r.Read(b) if err != nil{ fmt.Println("讀取流數據失敗",err) return } fmt.Println("讀取的數據長度爲:",n) //讀取的數據長度爲: 11 fmt.Println("數據內容爲:",string(b)) //數據內容爲: hello world }
(3)讀取文件內容spa
//Learn_Go/main.go package main import ( "fmt" "os" ) func main() { f,_ := os.Open("D:/test.txt") fileInfo,_ := f.Stat() b := make([]byte,fileInfo.Size()) f.Read(b) fmt.Println(string(b)) } //結果 牀前明月光, 疑是地上霜。 舉頭望明月, 低頭思故鄉。
//Learn_Go/main.go package main import "os" func main() { filePath := "D:/go.txt" f,err := os.OpenFile(filePath,os.O_APPEND,0660) // 0660 表示權限 defer f.Close() if err != nil{ f,_ = os.Create(filePath) //若是文件不存在,就新建一個文件 } //f.Write([]byte("你好,世界")) f.WriteString("牀前明月光,\r\n疑是地上霜。\r\n舉頭望明月,\r\n低頭思故鄉。") }
ioutil包下提供了對文件讀寫的工具函數,經過這些函數快速實現文件的讀寫操做blog
(1)打開文件後使用ReadAll把文件內容讀出來接口
//Learn_Go/main.go package main import ( "fmt" "io/ioutil" "os" ) func main() { f,err := os.Open("D:/go.txt") defer f.Close() if err != nil{ fmt.Println(err) return } b,err := ioutil.ReadAll(f) if err != nil{ fmt.Println(err) return } fmt.Println(string(b)) }
(2)能夠直接讀取文件中內容 資源
//Learn_Go/main.go package main import ( "fmt" "io/ioutil" ) func main() { b,err := ioutil.ReadFile("D:/go.txt") if err != nil{ fmt.Println(err) return } fmt.Println(string(b)) }
(3)寫數據string
//Learn_Go/main.go package main import "io/ioutil" func main() { //每次清空再寫,而不是追加 ioutil.WriteFile("D:/go.txt",[]byte("你好,世界"),0666) }
(4)讀取全部目錄it
//Learn_Go/main.go package main import ( "fmt" "io/ioutil" ) func main() { fi,_ := ioutil.ReadDir("D:/") for _,n := range fi{ fmt.Println(n.Name()) //D盤下全部目錄的名字 } }