zoukankan      html  css  js  c++  java
  • Go语言文件操作

    写程序离不了文件操作,这里总结下go语言文件操作。

    一、建立与打开

    建立文件函数:

    func Create(name string) (file *File, err Error)

    func NewFile(fd int, name string) *File

    具体见官网:http://golang.org/pkg/os/#Create

     

    打开文件函数:

    func Open(name string) (file *File, err Error)

    func OpenFile(name string, flag int, perm uint32) (file *File, err Error)

    具体见官网:http://golang.org/pkg/os/#Open

     

    二、写文件

    写文件函数:

    func (file *File) Write(b []byte) (n int, err Error)

    func (file *File) WriteAt(b []byte, off int64) (n int, err Error)

    func (file *File) WriteString(s string) (ret int, err Error)

    具体见官网:http://golang.org/pkg/os/#File.Write 

    写文件示例代码:

    package main
    import (
            "os"
            "fmt"
    )
    func main() {
            userFile := "test.txt"
            fout,err := os.Create(userFile)
            defer fout.Close()
            if err != nil {
                    fmt.Println(userFile,err)
                    return
            }
            for i:= 0;i<10;i++ {
                    fout.WriteString("Just a test!\r\n")
                    fout.Write([]byte("Just a test!\r\n"))
            }
    }
    
    

    三、读文件

    读文件函数:

    func (file *File) Read(b []byte) (n int, err Error)

    func (file *File) ReadAt(b []byte, off int64) (n int, err Error)

    具体见官网:http://golang.org/pkg/os/#File.Read

    读文件示例代码:

    package main
    import (
            "os"
            "fmt"
    )
    func main() {
            userFile := "test.txt"
            fin,err := os.Open(userFile)
            defer fin.Close()
            if err != nil {
                    fmt.Println(userFile,err)
                    return
            }
            buf := make([]byte, 1024)
            for{
                    n, _ := fin.Read(buf)
                    if 0 == n { break }
                    os.Stdout.Write(buf[:n])
            }
    }
    
    

    四、删除文件

    函数:

    func Remove(name string) Error

    具体见官网:http://golang.org/pkg/os/#Remove

  • E-Mail : Mike_Zhang@live.com
  • 转载请注明出处,谢谢!
查看全文
  • 相关阅读:
    强类型、弱类型、静态、动态语言定义(转载)
    What is a non-trivial constructor in C++?(转载)
    面试准备之面试题(C++) (一)
    python实现tail(考虑到几种特殊情况)
    rsyslog应用案例
    FUCK, 排查python写入mysql数据库过慢的过程(心都碎了)
    svn相关操作
    springCloud学习中遇到的问题
    idea启动项目没错,可是debug却一直启动不起来
    前端控制台返回406错误解决方法
  • 原文地址:https://www.cnblogs.com/MikeZhang/p/fileOperationsGolang.html
  • Copyright © 2011-2022 走看看