go的IO读取与写入

func (s *SealosInstaller) appendAPIServer() error {
etcHostPath := "/etc/hosts"
etcHostMap := fmt.Sprintf("%s %s", IPFormat(s.Masters[0]), APIServer)
file, err := os.OpenFile(etcHostPath, os.O_RDWR|os.O_APPEND, 0666)
if err != nil {
os.Exit(1)
}
defer file.Close()
reader := bufio.NewReader(file)
for {
str, err := reader.ReadString('\n')
if strings.Contains(str, APIServer) {
logger.Info("local %s is already exists %s", etcHostPath, APIServer)
return nil
}
if err == io.EOF {
break
}
}
write := bufio.NewWriter(file)
_, _ = write.WriteString(etcHostMap)
return write.Flush()
}
posted @   技术颜良  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
历史上的今天:
2022-05-10 TCP就没什么缺陷吗
2022-05-10 Nginx配置域名反向代理MQTT 配置mqtt /ws /wss访问域名连接。
2022-05-10 K8s 上的分布式存储集群搭建(Rook/ceph)
2021-05-10 es6.*开启X-Pack
2021-05-10 java 一次CPU占用过高问题的排查及解决
2018-05-10 MongoDB用户授权和管理
2018-05-10 Kubernetes之利用prometheus监控K8S集群
点击右上角即可分享
微信分享提示