package Common import ( "bufio" "bytes" "fmt" "io/ioutil" "log" "os" "strings" ) func ChangeServer(ip string){ //域名 domain := "server.dsmin.com" //要修改的文件 fileName := "c:/windows/system32/drivers/etc/hosts" //Buffer是一个实现了读写方法的可变大小的字节缓冲 var buffer bytes.Buffer //读取文本文件 file, err := os.Open(fileName) if err != nil { log.Fatal(err) } defer file.Close() //读取到缓冲中 scanner := bufio.NewScanner(file) for scanner.Scan() { lineText := scanner.Text() if strings.Index(lineText, domain) > 0 { buffer.WriteString(ip + " " + domain + "\n") } else { buffer.WriteString(lineText + "\n") } } data := []byte(buffer.String()) if ioutil.WriteFile(fileName, data, 0644) == nil { fmt.Println("写入文件成功!IP="+ip) } }