文档详情

Go语言程序设计及实例 课件 第6章 文件与数据库操作.pptx

发布:2025-04-07约1.91万字共80页下载文档
文本预览下载声明

第6章文件与数据库操作基本文件操作

01操作目录1.创建目录2.删除目录3.重命名目录4.遍历目录

操作目录1.创建目录创建目录使用Mkdir和MkdirAll这两个函数,Mkdir只能创建单个目录,而MkdirAll则可以一次性地建好指定路径下的多级目录,它们的原型分别如下:funcMkdir(目录名,权限码)error //创建单个目录funcMkdirAll(路径,权限码)error //创建多级目录说明:“目录名”可带相对或绝对路径,为相对路径时,默认是相对于当前项目目录的路径;为绝对路径时,路径中的盘符不区分大小写。“权限码”是一个4位的八进制数,通常取“0777”,表示创建的目录对所有用户可读写、可执行。这两个函数都返回一个error(错误)类型的值,当执行成功时,值为nil;发生错误时,则可通过这个返回值得到具体的错误信息。例如:err:=os.Mkdir(D:\\Go\\test,0777) //这种必须先建好Go目录?err:=os.MkdirAll(D:\\Go\\test,0777) //这种会自动创建Go目录err:=os.MkdirAll(D:/Go/test,0777) //也可以这样写err:=os.MkdirAll(d:/Go/test,0777) //或者这样写?err:=os.MkdirAll(Go/test,0777) //创建在当前项目目录下?iferr!=nil{ log.Fatal(err) //打印错误日志}

操作目录2.删除目录对目录的删除操作同样也有Remove和RemoveAll两个函数,分别对应删除单个目录(即其中没有子目录或文件的目录)和删除多级目录,原型分别为:funcRemove(目录名)error //删除单个目录funcRemoveAll(路径)error //删除多级目录其中,执行第2个函数会删除参数“路径”指定的目录及其下全部文件和子目录。3.重命名目录目录重命名用Rename函数,原型为:funcRename(原目录名,新目录名)error //重命名目录其中,参数中的两个目录名也都可以带相对或绝对路径,默认相对的都是当前项目目录的路径,如果新目录已经存在,则替换它。

操作目录4.遍历目录在path包下的filepath子包中,有一个Walk函数可遍历目录,原型为:funcWalk(根路径,自定义函数)error //遍历目录使用时该函数需要用户提供一个自定义函数作为其第2个参数,Walk函数从第1个参数指定的根路径开始,按照用户定义函数的具体功能,遍历操作其下的各级子目录。【实例6.1】目录操作演示。程序代码如下(dir.go):说明:(a)遍历时显示各级目录及其修改时间(通过os.FileInfo中的ModTime函数)。(b)用MkdirAll函数根据当前系统时间依次创建年份、月份、日期对应名称的各级子目录。(c)重命名后的“下载Go学习资源”这个目录下面依然存有原来的年月日各级子目录,所以无法用Remove函数删除,若改用删除多级目录的RemoveAll函数就能成功删除了。

操作目录运行结果如图。执行程序后可看到在D盘下生成的目录如图。

02文件读写1.创建文件2.打开文件3.写文件4.读文件

文件读写1.创建文件创建文件使用Create函数,原型如下:funcCreate(文件名)(*os.File,error) //创建文件说明:“文件名”可带相对或绝对路径,为相对路径时,默认是相对于当前项目目录的路径;为绝对路径时,路径中的盘符不区分大小写。此函数有两个返回值,第1个为指针型,是指向os包File(文件类)对象的句柄,如果创建成功,就可以通过该句柄来对文件执行读写等操作;第2个为error型,创建失败时通过它得到具体的错误信息。如果要创建的文件已经存在,则它会被重置为空白文件。例如://创建在当前项目目录fp,err:=os.Create(./test.txt)fp,err:=os.Create(test.txt) //或者直接写文件名?//创建在本地计算机某个路径下

fp,err:=os.Create(D:\\Go\\test.txt) //必须先在D盘建好Go目录fp,err:=os.Create(D:/Go/test.txt) //也可以这样写fp,err:=os.Create(d:/Go/test.txt) //或者这样写?fmt.Printf(%T,fp) //

显示全部
相似文档