go中的文件、目录的操作
1.文件的概念
文件是数据源(保存数据的地方)的一种,比如大家经常使用的word文档,txt文件,excel文件等。文件最主要的作用就是保存数据,它既可以保存一张图片,也可以保存视频,声音等。
文件在程序中以流的形式来操作的。
- 流:数据在数据源(文件)和程序(内存)之间经历的路径
- 输入流:数据从数据源(文件)到程序(内存)的路径
- 输出流:数据从程序(内存)到数据源(文件)路径
2.读取文件
2.1读取文件方式一
1.只读的方式打开文件,file,err:=os.Open()
func Open(name string) (*File, error) {
return OpenFile(name, O_RDONLY, 0)
}
Open打开一个文件用于读取。如果操作成功,返回的文件对象的方法可用于读取数据;对应的文件描述具有O_RDONLY(只读模式)。
2.读取文件file.read()
func (f *File) Read(b []byte) (n int, err error)
该方法接受一个字节切片,返回读取的字节数和可能具体的错误,读取到文件末尾返回0和io.EOF
3.关闭文件流 defer file.Close()
2.1.1案例一
func ReadFile1(path string) {
// 1.只读方式打开文件
file, err := os.Open(path)
if err != nil {
fmt.Println("文件打开失败!")
}
// 2.读取文件
tem := make([]byte, 128)
n, err := file.Read(tem)
fmt.Printf("读取了%v的字节\n", n)
fmt.Println(string(tem[:n]))
// 关闭文件流
defer file.Close()
}
func main() {
ReadFile1("D:/test.txt")
}
结果:
读取了128的字节
寻寻觅觅,冷冷清清,凄凄惨惨戚戚。
乍暖还寒时候,最难将息。
三杯两盏淡酒,怎敌他、晚