GO文件读写01---读文件
打开文件
package main import (
"fmt"
"os"
) /*
buffer 缓冲区
utility 便利的工具
util 便捷工具(傻瓜式调用)
permission 权限
*/ //便捷的打开文件
func main021() {
//打开文件,返回文件对象的指针和错误
filePtr, err := os.Open("F:/BlockChain/code/W2/day4/测试文件") //如果有错误,说明打开失败,否则就是打开成功
if err != nil{
fmt.Printf("打开文件失败,err=%s",err) //结束当前函数
return
}else {
fmt.Println("打开文件成功")
} //文件是IO资源,使用完毕一定要关闭文件,以释放IO资源
defer func() {
filePtr.Close()
fmt.Println("文件已关闭")
}() //打印文件信息
fmt.Println("filePtr=",filePtr) } func main() {
//file, err := os.OpenFile("F:/BlockChain/code/W2/day4/测试文件", os.O_RDONLY, 0)
file, err := os.OpenFile("F:/BlockChain/code/W2/day4/测试文件", os.O_CREATE|os.O_TRUNC|os.O_RDWR, 0)
if err!=nil{
fmt.Println("文件打开失败,err=",err)
return
}else {
fmt.Println("文件打开成功")
}
defer file.Close()
}
缓冲式读文件
package main import (
"bufio"
"fmt"
"io"
"os"
) func main() {
file, err := os.OpenFile("F:/BlockChain/code/W2/day4/测试文件", os.O_RDONLY, 0)
if err != nil{
fmt.Println("文件打开失败,err=",err)
return
}else{
fmt.Println("文件打开成功")
}
//函数返回前,关闭文件,释放io资源
defer func() {
file.Close()
fmt.Println("文件已关闭")
}() //创建文件的缓冲读取器
reader := bufio.NewReader(file) //循环读取数据,以换行符为定界符,直到文件末尾
for{
//读取一段字符串,以换行符为定界符
line, err := reader.ReadString('\n')
//判断读取是否有错误
if err != nil{
fmt.Println("读取失败,err=", err) //读到了文件末尾
if err == io.EOF{
fmt.Println("已到文件末尾")
//退出循环
break
}
}else{
//没有错误读取成功,打印读到的数据
fmt.Print(line)
}
} fmt.Println("文件读取结束")
}
使用ioutil包下的API进行便捷的读取
func main() {
//读取指定文件,获取原始字节,其内部调用了文件的打开与关闭
bytes, err := ioutil.ReadFile("F:/BlockChain/code/W2/day4/测试文件")
//判断是否有错误
if err != nil{
fmt.Println("文件读取失败,err=",err)
return
}else {
//将原始字节强转为string并输出
fmt.Println("文件读取成功")
text := string(bytes)
fmt.Println(text)
}
}
GO文件读写01---读文件的更多相关文章
- 使用FileSystem类进行文件读写及查看文件信息
使用FileSystem类进行文件读写及查看文件信息 在这一节我们要深入了解Hadoop的FileSystem类——这是与与hadoop的文件系统交互的重要接口.虽然我们只是着重于HDFS的实现, ...
- PHP文件读写操作之文件写入代码
在PHP网站开发中,存储数据通常有两种方式,一种以文本文件方式存储,比如txt文件,一种是以数据库方式存储,比如Mysql,相对于数据库存储,文件存储并没有什么优势,但是文件读写操作在基本的PHP开发 ...
- python笔记(三)---文件读写、修改文件内容、处理json、函数
文件读写(一) #r 只读,打开文件不存在的话,会报错 #w 只写,会清空原来文件的内容 #a 追加写,不会请求,打开的文件不存在的话,也会帮你新建的一个文件 print(f.read()) #获取到 ...
- python3 文件读写操作中的文件指针seek()使用
python中可以使用seek()移动文件指针到指定位置,然后读/写.通常配合 r+ .w+.a+ 模式,在此三种模式下,seek指针移动只能从头开始移动,即seek(x,0) . 模式 默认 写方式 ...
- C语言文件读写(结构体文件)
有时候,我们需要将输入的数据存储起来,这时候就需要用到文件,对于C语言而言,文件的读写有多种方式,下面主要是结构体文件的读写,例如student.dat(第一列是学号,第二列是姓名) xiaoming ...
- 13--Python入门--文件读写--CSV&Excel文件
EXCEL文件 import pandas as pd excel=pd.read_excel('read_excel.xlsx') print(excel) CSV文件 import pandas ...
- (Unity)XML文件读写与IO文件操作类使用介绍
using System.Xml; //xml文件操作命名空间 #region 写入操作 void WriteXMLFile(string _fileName) { Xm ...
- Python文件读写、StringIO和BytesIO
1 IO的含义 在计算机中,IO是Input/Output的简写,也就是输入和输出. 由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就 ...
- 从 Linux 内核角度探秘 JDK NIO 文件读写本质
1. 前言 笔者在 <从 Linux 内核角度看 IO 模型的演变>一文中曾对 Socket 文件在内核中的相关数据结构为大家做了详尽的阐述. 又在此基础之上介绍了针对 socket 文件 ...
- [转]Android - 文件读写操作 总结
转自:http://blog.csdn.net/ztp800201/article/details/7322110 Android - 文件读写操作 总结 分类: Android2012-03-05 ...
随机推荐
- Java文档注释全攻略
注释:注释起到对代码标注和解释的作用,如果你去看看JDK源码,会发现他们有许多的注释,而且注释是比代码还要多的,可见为代码添加注释是非常重要的,写好注释能让别人更加容易看懂你的代码,注释可以分为以下三 ...
- DVWA之File Inclusion
File Inclusion File Inclusion,意思是文件包含(漏洞),是指当服务器开启allow_url_include选项时,就可以通过php的某些特性函数(include(),req ...
- AppScan扫描器的用法
目录 AppScan 软件功能 建立一次基础的扫描 AppScan AppScan是一款非常好用且功能强大的Web 应用安全测试工具,曾以 Watchfire AppScan 的名称享誉业界,AppS ...
- apk 脱壳
在理解android的类加载后,我们可以愉快对apk来脱壳了.脱壳重要的是断点: 断点:在哪个位置脱壳,这里着重指的是在哪个方法 先介绍断点,我们只要知道加壳是用哪个方法来加载dex的,hook这个方 ...
- 基于 RTF specification v1.7 的 RTF 文件解析及 OLE 对象提取(使用 Python 开发)
0x01 Office RTF 文件介绍 RTF 文件也称富文本格式(Rich Text Format, 一般简称为 RTF),意为多文本格式是由微软公司开发的跨平台文档格式.大多数的文字处理软件都能 ...
- PowerShell-3.多线程
$start = Get-Date $task1 = { $vUrl = 'http://img.mottoin.com/wp-content/uploads/2016/09/5-25.png' $v ...
- Mac使用brew搭建LNMP
一. brew常用命令 安装brew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/in ...
- 电脑提示无法装入/加载SolidWorks DLL文件:sldshellutils如何解决
电脑提示无法装入/加载SolidWorks DLL文件:sldshellutils如何解决 参考资料:http://www.xitongcheng.com/jiaocheng/dnrj_article ...
- MySQL|一文解决主库已有数据的主从复制
主从复制配置方案和实际的场景有很多,在之前配置了主从库都是全新的配置方案 在这一篇会配置主库存在数据,然后配置主从复制 开始之前,先分享一套MySQL教程,小白入门或者学习巩固都可以看 MySQL基础 ...
- 基于RestAssured实现接口自动化
RestAssured是一款强大的接口自动化框架, 旨在使用方便的DSL,简化的接口自动化. 下面是基于RestAssured扩展的一个简单框架示例, 先看看用例的风格: package testca ...