go语言将txt文件指定两行数据替换为已定义好的两个长字符串
时间: 2023-12-21 17:03:09 浏览: 76
可以通过以下代码实现:
```go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
// 打开原始文本文件
file, err := os.Open("original.txt")
if err != nil {
panic(err)
}
defer file.Close()
// 创建临时文件
tmpFile, err := os.Create("tmp.txt")
if err != nil {
panic(err)
}
defer tmpFile.Close()
// 定义要替换的两行数据
line1 := "This is the first line of replacement."
line2 := "This is the second line of replacement."
// 逐行读取原始文本文件并替换指定两行数据
scanner := bufio.NewScanner(file)
for scanner.Scan() {
line := scanner.Text()
if line == "line to be replaced 1" {
fmt.Fprintln(tmpFile, line1)
} else if line == "line to be replaced 2" {
fmt.Fprintln(tmpFile, line2)
} else {
fmt.Fprintln(tmpFile, line)
}
}
if err := scanner.Err(); err != nil {
panic(err)
}
// 删除原始文本文件并将临时文件重命名为原始文件名
err = os.Remove("original.txt")
if err != nil {
panic(err)
}
err = os.Rename("tmp.txt", "original.txt")
if err != nil {
panic(err)
}
}
```
上述代码将原始文本文件中的两行数据分别替换为 `line1` 和 `line2`,并将修改后的文本写入到临时文件中。然后删除原始文本文件并将临时文件重命名为原始文件名,从而实现了替换操作。
阅读全文