go-文件
流:数据在数据源(文件)和程序(内存)之间经历的路径
输入流(读文件):数据从数据源(文件)到程序(内存)的路径
输出流(写文件):数据从程序(内存)到数据源(文件)的路径
func main() {
file, err := os.Open("./model/Account.go")
if err != nil {
fmt.Println("open file err=", err)
}
defer file.Close() //要及时关闭 file 句柄,否则会有内存泄漏.
reader := bufio.NewReader(file)
for {
str, err := reader.ReadString('\n')
if err == io.EOF{
break
}
fmt.Println(str)
}
fmt.Println("文件读取结束...")
}
读取文件的内容并显示在终端(使用 ioutil 一次将整个文件读入到内存中),这种方式适用于文件
不大的情况。相关方法和函数(ioutil.ReadFile)
func main() {
file := "./a.txt"
content, err := ioutil.ReadFile(file)
if err != nil {
fmt.Printf("read file err=%v", err)
}
fmt.Println("%v", string(content))
}
func OpenFile(name string, flag int, perm FileMode) (file File, err error)
flag是文件打开模式,只读、只写、读写等
perm权限控制,读、写、执行操作
//写入时,使用带缓存的Writer
writer := bufio.NewWriter(file)
writer.WriteString()
writer.Flush()
//因为writer是带缓存,在writerString方法时,内容是先写到缓存,需要调用Flush方法,将缓冲中的数据写到文件中,否则文件中没有数据
本作品采用《CC 协议》,转载必须注明作者和本文链接