diff --git a/application.go b/application.go index d11d0a3..1341adc 100644 --- a/application.go +++ b/application.go @@ -224,17 +224,7 @@ func (this *Application) SetConfig(configPath ...string) { log.Println("配置文件不存在,或者配置出错,使用缺省默认配置") } - //else { - // //文件不存在则写入文件,存在不做处理 - // var out bytes.Buffer - // err = json.Indent(&out, []byte(this.Config.ToJsonString()), "", "\t") - // os.MkdirAll(filepath.Dir(this.configPath), os.ModeDir) - // os.Create(this.configPath) - // err = ioutil.WriteFile(this.configPath, out.Bytes(), os.ModeApplicationend) - // if err != nil { - // this.Error.SetError(err) - // } - //} + //文件如果损坏则不写入配置防止配置文件数据丢失 if this.Error.GetError() == nil { var out bytes.Buffer @@ -245,6 +235,8 @@ func (this *Application) SetConfig(configPath ...string) { if len(btes)!=0&&out.String()==string(btes){ return } + + err = ioutil.WriteFile(this.configPath, out.Bytes(), os.ModeAppend) if err != nil { @@ -257,8 +249,6 @@ func (this *Application) SetConfig(configPath ...string) { } } - } else { - this.Error.SetError(nil) } }