Golang操作文件示例代码

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

关闭文件
func (file *File) Close() os.Error {
    if file == nil {
        return os.EINVAL
    }
    e := syscall.Close(file.fd)
    file.fd = -1 // so it can't be closed again
    if e != 0 {
        return os.Errno(e)
    }
    return nil
}



//该代码片段来自于: http://www.sharejs.com/codes/go/4351
文件读取
func (file *File) Read(b []byte) (ret int, err os.Error) {
    if file == nil {
        return -1, os.EINVAL
    }
    r, e := syscall.Read(file.fd, b)
    if e != 0 {
        err = os.Errno(e)
    }
    return int(r), err
}

写文件
func (file *File) Write(b []byte) (ret int, err os.Error) {
    if file == nil {
        return -1, os.EINVAL
    }
    r, e := syscall.Write(file.fd, b)
    if e != 0 {
        err = os.Errno(e)
    }
    return int(r), err
}


获取文件名
func (file *File) String() string {
    return file.name
}