You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
832 B

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)
}
}