我是Golang的新手,从一些例子开始 . 目前,我要做的是逐行读取文件,并在满足特定条件时将其替换为另一个字符串 . 该文件用于测试目的包含四行:

one

two

three

four

处理该文件的代码如下所示:

func main() {

file, err := os.OpenFile("test.txt", os.O_RDWR, 0666)

if err != nil {

panic(err)

}

reader := bufio.NewReader(file)

for {

fmt.Print("Try to read ...\n")

pos,_ := file.Seek(0, 1)

log.Printf("Position in file is: %d", pos)

bytes, _, _ := reader.ReadLine()

if (len(bytes) == 0) {

break

}

lineString := string(bytes)

if(lineString == "two") {

file.Seek(int64(-(len(lineString))), 1)

file.WriteString("This is a test.")

}

fmt.Printf(lineString + "\n")

}

file.Close()

}

正如您在代码片段中看到的,我想在从文件中读取此字符串后立即将字符串"two"替换为"This is a test" . 为了获得文件中的当前位置,我使用Go的Seek方法 . 然而,发生的是总是最后一行被替换为这是一个测试,使文件看起来像这样:

one

two

three

This is a test

检查将当前文件位置写入终端的print语句的输出,我在 the first line has been read 之后得到那种输出:

2016/12/28 21:10:31 Try to read ...

2016/12/28 21:10:31 Position in file is: 19

所以在第一次读取之后,位置光标已经指向我文件的末尾,这解释了为什么新字符串被附加到结尾 . 有谁知道这里发生了什么,或者更确切地说是什么导致了这种行为?

java文件替换一行数据_用Golang替换文件中的一行相关推荐

  1. 使用Python批量筛选上千个Excel文件中的某一行数据并另存为新Excel文件(下篇)

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 野火烧不尽,春风吹又生. 大家好, ...

  2. Java 反射将配置文件数据加载到对象属性中

    Java 反射将配置文件数据加载到对象属性中 Java 反射 可以根据类名找到相应的类,也可以将配置文件中的值加载到对应属性中. 需要用到的包:spring-core-3.1.2.Release.ja ...

  3. java给excel填充数据_使用poi操作Excel的处理工具类自动解析填充数据

    直接传入对应的对象直接生成Excel中的数据集合 Excel模板-表头所在行为1(所在行从一开始) image.png 首先需要导入的Excel表头行中要添加批注,内容为对应JavaBean的属性值. ...

  4. java爬取网页数据_利用Python做数据分析—对前程无忧数据类岗位进行分析

    引言 随着时代的发展,我国在各行各业都需要大量的人才引进,处于近几年最热门的行业也称"最火行业":大数据.数据分析.数据挖掘.机器学习.人工智能,这五门行业各有不同又互有穿插.近几 ...

  5. java使用xml存储数据_『爬虫四步走』手把手教你使用Python抓取并存储网页数据!

    菜鸟学Python 以下文章来源于早起Python ,作者刘早起 爬虫是Python的一个重要的应用,使用Python爬虫我们可以轻松的从互联网中抓取我们想要的数据,本文将基于爬取B站视频热搜榜单数据 ...

  6. java使用xml存储数据_「爬虫四步走」手把手教你使用Python抓取并存储网页数据

    爬虫是Python的一个重要的应用,使用Python爬虫我们可以轻松的从互联网中抓取我们想要的数据,本文将基于爬取B站视频热搜榜单数据并存储为例,详细介绍Python爬虫的基本流程.如果你还在入门爬虫 ...

  7. openpyxl写入一行数据_老板让我从几百个Excel中查找数据,我用Python一分钟搞定!...

    以下文章来源: 早起Python 作者:陈熹 大家好,又到了Python办公自动化系列. 今天分享一个真实的办公自动化需求,大家一定要仔细阅读需求说明,在理解需求之后即可体会Python的强大! 一. ...

  8. java使用xml存储数据_用存储过程和 JAVA 写报表数据源有什么弊端?

    用存储过程和 JAVA 写报表数据源有什么弊端?跟着小编一起来一看一下吧! 我们在报表开发中经常会使用存储过程准备数据,存储过程支持分步计算,可以实现非常复杂的计算逻辑,为报表开发带来便利.所以,报表 ...

  9. java读写德卡数据_深圳德卡D3-U读写卡器windows(Java),linux(C)驱动开发 | 学步园

    在D3的Java文件夹下有文件夹两个:classpackage.example,文件一个:readme.txt. classpackage中的 javaRD800.dll 是一个面向Java JNI ...

最新文章

  1. 深度 | 量子计算技术的研究现状与未来
  2. HTC Element Behaviors in Internet Explorer.
  3. 编译原理——语言处理程序
  4. 程序员面试金典 - 面试题 05.07. 配对交换(位运算)
  5. 古人把月球叫做广寒宫,古人是怎么知道月球上很冷的?一起来看看
  6. Docker启动一个Centos镜像
  7. socket编程---SCTP
  8. Arduino uno LED灯实验
  9. 火山PC大漠插件源码开源学习--木塔老师
  10. 阿里矢量图标及其引入方式
  11. iOS开发 在图片上添加文字,图片合成文字,图片上添加富文本,美图秀秀,美颜相机文字编辑
  12. BI工具进化图鉴,Qlik Sense和Qlik View有何区别?
  13. Mac下使用Eclipse读java源码
  14. 丰城九中2021高考成绩查询,丰城九中2021届毕业典礼
  15. Anytime Dynamic A* (AD*)算法分析
  16. windows7隐藏桌面计算机,教你win7小技巧之隐藏桌面图标
  17. 用C语言写一个简单的俄罗斯方块(基于Windows窗口编程)
  18. java中将html特殊字符作转义和取消转义操作
  19. 摩尔斯电码_摩尔斯电码二叉树和baader meinhof现象
  20. 计算机网络安全漏洞及防范措施论文,浅谈计算机网络安全漏洞及防范措施论文.doc...

热门文章

  1. 前端学习(1944)vue之电商管理系统电商系统之绘制分类组件的基本结构
  2. 前端学习(1525):简化模板代码
  3. 为了梦想开始历练之清除浮动篇
  4. 前端学习(487):css选择器下
  5. spring学习(15):required属性
  6. 54include对象
  7. 玩转oracle 11g(41):rman备份-00554或者04005
  8. java学习(26):switch
  9. 解决html2canvas截取页面部分div黑屏问题
  10. [线性代数]Note3--乘法和逆矩阵