go语言用字符串替代txt文件第四行的内容并保存为新文件
时间: 2023-12-22 15:03:26 浏览: 133
替换一个文本文件中的字符串
以下是用 Go 语言替换文本文件第四行内容并保存为新文件的示例代码:
```go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
// 打开原始文件和目标文件
input, err := os.Open("textfile.txt")
if err != nil {
panic(err)
}
defer input.Close()
output, err := os.Create("newfile.txt")
if err != nil {
panic(err)
}
defer output.Close()
// 读取原始文件内容
scanner := bufio.NewScanner(input)
var lines []string
for scanner.Scan() {
lines = append(lines, scanner.Text())
}
// 替换第四行内容
if len(lines) >= 4 {
lines[3] = "New content"
}
// 将修改后的内容写入目标文件
writer := bufio.NewWriter(output)
for _, line := range lines {
fmt.Fprintln(writer, line)
}
writer.Flush()
}
```
在上面的示例代码中,我们首先使用 `os.Open` 和 `os.Create` 函数打开原始文件和目标文件。然后,我们使用 `bufio.NewScanner` 函数逐行读取原始文件内容并将每一行存储在一个字符串切片中。接下来,我们检查这个字符串切片是否有至少 4 行,如果有,就将第四行替换为新的内容。最后,我们使用 `bufio.NewWriter` 函数将修改后的内容写入目标文件中,并在写入完成后显式地调用 `Flush` 方法以确保所有数据都已写入目标文件。
阅读全文