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 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!