8.Go-Reader、Writer和ioutil – Python量化投资

8.Go-Reader、Writer和ioutil

8.1.Reader (1)输入流 流是应用程序和外部资源进行数据交互的纽带 流分为输入流和输出流,输入和输出都是相对于程序,把外部数据传入程序中叫做输入流,反之叫做输出流 在Go语言标准库中io包下是Reader接口表示输入流,只要实现这个接口就属于输入流 (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)读取文件内容 //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))
}

//结果
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。 8.2.Writer //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低头思故乡。”)
} 8.3.ioutil ioutil包下提供了对文件读写的工具函数,通过这些函数快速实现文件的读写操作 (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)写数据 //Learn_Go/main.go
package main

import “io/ioutil”

func main() {
//每次清空再写,而不是追加
ioutil.WriteFile(“D:/go.txt”,[]byte(“你好,世界”),0666)
} (4)读取所有目录 //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盘下所有目录的名字
}
}https://www.cnblogs.com/derek1184405959/p/11332093.html

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论