什么网站做推广最好,wordpress cia易验证,网盘网页版,义乌网站建站文章目录 1、打开和关闭文件2、IO3、一次性读文件4、带缓冲区的读文件5、写入文件6、文件复制 1、打开和关闭文件
package main
import(fmtos
)
func main(){//打开文件#xff1a;file,err : os.Open(d:/Test.txt);if err ! nil {//出错… 文章目录 1、打开和关闭文件2、IO3、一次性读文件4、带缓冲区的读文件5、写入文件6、文件复制 1、打开和关闭文件
package main
import(fmtos
)
func main(){//打开文件file,err : os.Open(d:/Test.txt);if err ! nil {//出错fmt.Println(文件打开出错对应错误为,err)}//没有出错输出文件fmt.Printf(文件%v,file)//.........一系列操作//关闭文件err2 : file.Close();if err2 ! nil {fmt.Println(关闭失败)}
}
相关
打开文件打开成功则返回一个文件对象
//函数
func Open(name string)(file *File,err error)关闭文件使文件不能用于读写返回可能出现的错误
//方法限File对象调用
func(f *File) Close() error2、IO 3、一次性读文件 使用ioutil包的ReadFile方法将整个文件读入到内存不适合大文件
package main
import(fmtio/ioutil
)
func main(){//读取文件content,err : ioutil.ReadFile(d:/Test.txt)//返回内容为[]byte,errif err ! nil {//读取有误fmt.Println(读取出错错误为,err)}//如果读取成功将内容显示在终端即可//fmt.Printf(%v,content)fmt.Printf(%v,string(content))
}在上面的程序中不需要进行 Open\Close操作因为文件的打开和关闭操作被封装在ReadFile函数内部了
4、带缓冲区的读文件
带缓冲区适合读大文件
package main
import(fmtosbufioio
)
func main(){//打开文件file,err : os.Open(d:/Test.txt)if err ! nil {//打开失败fmt.Println(文件打开失败err,err)}//当函数退出时让file关闭防止内存泄露defer file.Close()//创建一个流reader : bufio.NewReader(file)//读取操作for {str,err : reader.ReadString(\n)//读取到一个换行就结束if err io.EOF {//io.EOF 表示已经读取到文件的结尾break}//如果没有读取到文件结尾的话就正常输出文件内容即可fmt.Println(str)}//结束fmt.Println(文件读取成功并且全部读取完毕)
}
5、写入文件
打开文件 参数一文件路径 参数二文件打开模式多选用 | 连接 参数三权限控制Linux下生效Windows无效
示例
package main
import(fmtosbufio
)
func main(){//写入文件操作//打开文件file , err : os.OpenFile(d:/Demo.txt,os.O_RDWR | os.O_APPEND | os.O_CREATE,0666)if err ! nil {//文件打开失败fmt.Printf(打开文件失败,err)return}//及时将文件关闭defer file.Close()//写入文件操作---》IO流---》缓冲输出流(带缓冲区)writer : bufio.NewWriter(file)for i : 0; i 10;i {writer.WriteString(你好 Golang\n)} //流带缓冲区要刷新流---才会真正写入文件中writer.Flush()
}关于权限不想算可以
s :os.FileMode(0666).String()
fmt.Println(s)6、文件复制
package main
import(fmtio/ioutil
)
func main(){//定义源文件file1Path : d:/Demo.txt//定义目标文件file2Path : d:/Demo2.txt//对文件进行读取content,err : ioutil.ReadFile(file1Path)if err ! nil {fmt.Println(读取有问题!)return}//写出文件err ioutil.WriteFile(file2Path,content,0666)if err ! nil {fmt.Println(写出失败)}
}