h5个人网站源码,做一直播网站要多少钱,怎么做一直弹窗口网站,浙江 网站备案GO语言删除文本文件中的指定行 1. 思路2. 处理文件3. 处理后的文本文件 1. 思路
假设现在有一个文本文件#xff0c;我们需要删除文件中乱码的行。我们可以使用go的os库来处理文件#xff0c;遍历整个文件然后将除过乱码的行写入一个新文件#xff0c;以此来实现我们的需求… GO语言删除文本文件中的指定行 1. 思路2. 处理文件3. 处理后的文本文件 1. 思路
假设现在有一个文本文件我们需要删除文件中乱码的行。我们可以使用go的os库来处理文件遍历整个文件然后将除过乱码的行写入一个新文件以此来实现我们的需求。
2. 处理文件
假设我们现在有一个配置文件hello.conf用户经常修改导致文件错乱或出现乱码情况我们需要去除乱码行以保证配置文件可用。 如下一个示例文件注释使用#加文本配置信息使用等号分隔我们需要去除掉文件中的空行、乱码行、不包含和#的行和包含#号却不在开头的行。
#系统版本
versionv1.0.0#系统平台
platformarm
#数据库信息database127.0.0.1;3306;123456;mysql
1234
#https端口
httpsport8443
8443#dd
#用于开启https的设置
enablehttpsfalse#插入数据库是否携带服务名称
is.add.namefalse
#设备型号
modelRTD-1
首先以可读写的方式打开文件并使用换行符来遍历文件。通过特定条件筛选出可用行并将其写入新文件中最后修改新创建的文件完成处理。
package import (bufioiologosstrings
)const (FILE hello.confNEWFILE hellonew.conf
)func main() {deleteBadLine()
}func deleteBadLine() {//以可读写方式打开文件file, err : os.OpenFile(FILE, os.O_RDWR, 0666)if err ! nil {log.Fatal(err)}defer file.Close()//创建一个文件并以可读写方式打开destFile, err : os.OpenFile(NEWFILE, os.O_CREATE | os.O_RDWR, 0666)if err ! nil {log.Fatal(err)}defer destFile.Close()//将文件内容写入缓冲区中reader : bufio.NewReader(file)for {//以换行符来遍历文件line, err : reader.ReadString(\n)if err ! nil {log.Fatal(err)}//读到文件结尾if err io.EOF {break}//根据特定条件筛选行if len(line) 0 || line \r\n || !strings.Contains(line, ) !strings.Contains(line, #) || strings.Contains(line, #) !strings.HasPrefix(line, #) {log.Println(Bad line:, line)continue} else {log.Println(Normal line:, line)//将可用的行写入新文件if _, err destFile.WriteString(line); err ! nil {log.Fatal(err)}}}//处理完毕将新创建的文件重命名//linux系统可以通过重命名来覆盖静态文件若其他系统则需要先进行删除或备份再重命名os.Rename(NEWFILE, FILE)
}3. 处理后的文本文件
#系统版本
versionv1.0.0
#系统平台
platformarm
#数据库信息
database127.0.0.1;3306;123456;mysql
#https端口
httpsport8443
#用于开启https的设置
enablehttpsfalse
#插入数据库是否携带服务名称
is.add.namefalse
#设备型号
modelRTD-1