文件的基本介绍 | 学习笔记

简介: 快速学习文件的基本介绍

开发者学堂课程【Go语言核心编程 - 面向对象、文件、单元测试、反射、TCP编程文件的基本介绍】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/626/detail/9725


文件的基本介绍

 

内容介绍

一、基本介绍

二、输入流和输出流

三、File 是一个结构体

 

一、基本介绍

文件,对我们并不陌生,文件是数据源(保存数据的地方)的一-,比如大家经常使用的 word 文档,txt 文件,excel 文件..都是文件。文件最主要的作用就是保存数据,它既可以保存一-张图片,也可以保持视频,声音...

文件在程序中是以流的形式来操作的。

 

二、输入流和输出流

image.png

:数据在数据源(文件)和程序(内存)之间经历的路径

输入流:数据从数据源(文件)到程序(内存)的路径,输入流一般是指读文件。

输出流:数据从程序(内存)到数据源(文件)的路径,从内存向文件流动,一般是写文件。

 

三、File是一个结构体

os.File 封装所有文件相关操作,File 是一个结构体

type File

type File struct [

内含隐藏或非导出字段

func ("File) Read

func (f *File) Read(b[]byte) (n int, err error)

Read 方法从仲读取最多 len(b)字节数据并写入 b。它返回读取的字节数和可能遇到的任何错误。文件终止标志是读取0个字节且返回值 err io.EOF.

func ("File) ReadAt

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

ReadAt 从指定的位置(相对于文件开始位置)读取 len(b)字节数据并写入 b。它返回读取的字节数和可能遇到的任何错误。当 nclen(b)时,本方法总是会返回错误;如果是因为到达文件结尾,返回值 err 会是 io.EOF

func ("File) Write

func (f *File)Write(b []byte) (n int, err error)

Write 向文件中写入 len(b)字节数据。它返回写入的字节数和可能遇到的任何错误。如果返回值 nl=len(b),本方法会返回一个非 nil 的错误。

func CFilelWriteStrina func ("File) WriteAt

func (f"File) WriteAt(b []byte, off int64) (n int, err error)

WriteAt 在指定的位置(相对于文件开始位置)写入 len(b)字节数据。它返回写入的字节数和可能遇到的任何$如果返回值 nl=len(b),本方法会返回一个非nll的错误。

func ("File) Seek

func (f"File) Seek(offset int64, whence int) (ret int64, err error)

Seek 设置下一次读/写的位置。offset 为相对偏移量,而 whence 决定相对位置:0为相对文件开头,1为相对兰置,2为相对文件结尾。它返回新的偏移量(相对开头)和可能的错误。

func ("File) Sync

func (f "File) Sync() (err error)

Sync 递交文件的当前内容进行稳定的存储。一般来说,这表示将文件系统的最近写入的数据在内存中的拷贝到硬盘中稳定保存。

func ("File) Close

func (f "File) Close() error

Close 关闭文件 f,使文件不能用于读写。它返回可能出现的错误。

再看一下他的文档,打开 os,打开官方文档

type File

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

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

func OpenFile(name string, flag int, perm FileMode) (file *File, err error)

func NewFile(fd uintptr, name string) *File

func Pipe()(r"File, W*File, err error)

前四个为普通的方法,后面是跟 File 绑定的方法,会经常用到 File 结构体,代表一个打开的文件对象,有很多的方法。

func (*File) Stat) (fi Filelnfo, err error)

func (f *File) Fd() uintptr

func (f *File) Chdir() error

func (f *File) Chmod(mode FileMode) error

func (f *File) Chown(uid, gid int) error

func (f *File) Readdir(n int) (fi [Fileinfo, err error)

func (f *File) Readdirnames(n int) (names [string, err error)

func (f *File) Truncate(size int64) error

func (f *File) Read(b [byte) (n int, err error)

func (f *File) ReadAt(b [byte, off int64) (n int, err error)· func (f *File) Write(b [byte) (n int, err error)

func (f *File) WriteString(s string) (ret int, err error)

func (f *File) WriteAt(b [byte, off int64) (n int, err error)func (f *File) Seek(offset int64, whence int) (ret int64, err error)func (f *File) Sync() (err error)

func (f *File) Close() error

总结:后面我们操作文件,会经常使用到 os.File 结构体

相关文章
|
20天前
|
数据采集 监控 算法
原子钟的基本介绍
【10月更文挑战第7天】本文介绍原子钟是一种利用原子跃迁频率作为基准的高精度计时设备,广泛应用于通信、导航、科学研究等领域。铯原子钟是最精确的计时设备之一,基于铯133原子的超精细跃迁,频率为9,192,631,770 Hz。其关键部件包括铯束源、微波腔、磁态选择器、检测系统和反馈回路。原子钟在GPS、电信、金融市场等应用中至关重要,软件开发需考虑高精度时间同步、数据处理、硬件接口和性能监控。
125 59
|
4天前
|
安全 数据安全/隐私保护
RememberMe简介及用法
RememberMe简介及用法
9 0
RememberMe简介及用法
|
5月前
|
SQL JSON 数据库
技术笔记:mysqlidb类的使用方法汇总
技术笔记:mysqlidb类的使用方法汇总
49 0
|
编译器
C进阶:文件的基础操作(一)
C进阶:文件的基础操作
67 0
|
存储
C进阶:文件的基础操作(二)
C进阶:文件的基础操作(二)
49 0
|
C语言
C进阶:文件的基础操作(三)
C进阶:文件的基础操作(三)
71 0
|
监控 网络协议 数据安全/隐私保护
Wireshake简介与使用方法
1.wireshake简介 Wireshark是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
293 1
Wireshake简介与使用方法
|
存储 算法 搜索推荐
C++系列笔记(十一)
C++系列笔记(十一)
C++系列笔记(十一)
|
机器学习/深度学习 数据可视化 数据挖掘
视频理解的基本介绍与一些2D/3D的解决方法
视频理解的基本介绍与一些2D/3D的解决方法
502 0
视频理解的基本介绍与一些2D/3D的解决方法
|
Go 开发者
切片基本介绍和入门 | 学习笔记
简介:快速学习切片基本介绍和入门
176 0
切片基本介绍和入门 | 学习笔记