GO语言实现读取txt文本,删除偶数行

GO语言实现读取txt文本,删除偶数行

package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	// 打开源文件
	inFile, err := os.Open("D:\\goproject\\src\\golang\\txt\\1.txt")
	if err != nil {
		fmt.Println("打开文件时出错:", err)
		return
	}
	defer inFile.Close()

	// 创建目标文件
	outFile, err := os.Create("D:\\goproject\\src\\golang\\txt\\2.txt")
	if err != nil {
		fmt.Println("创建文件时出错:", err)
		return
	}
	defer outFile.Close()

	// 创建一个扫描器用于读取源文件的每一行
	scanner := bufio.NewScanner(inFile)
	writer := bufio.NewWriter(outFile)

	// 逐行读取文件,并跳过偶数行
	lineNum := 1
	for scanner.Scan() {
		if lineNum%2 != 0 {
			// 仅当为奇数行时写入
			_, err := writer.WriteString(scanner.Text() + "\n")
			if err != nil {
				fmt.Println("写入文件时出错:", err)
				return
			}
		}
		lineNum++
	}

	// 确保所有内容都被写入
	if err := writer.Flush(); err != nil {
		fmt.Println("刷新写入器时出错:", err)
	}

	if err := scanner.Err(); err != nil {
		fmt.Println("读取文件时出错:", err)
	}
}

你可能感兴趣的:(go,golang,开发语言,后端)