リビジョン | 7a32f7f5a80d1704c79535825ff0bdce19b9afe8 (tree) |
---|---|
日時 | 2018-03-23 22:43:28 |
作者 | Kazuhiro Fujieda <fujieda@user...> |
コミッター | Kazuhiro Fujieda |
ディスクに空きがないときにconfig.xmlやstatus.xmlが空になるのを直す
@@ -318,8 +318,11 @@ namespace KancolleSniffer | ||
318 | 318 | DecomposeNotificationFlags(); |
319 | 319 | ConvertPath(StripBaseDir); |
320 | 320 | var serializer = new XmlSerializer(typeof(Config)); |
321 | - using (var file = File.CreateText(ConfigFile)) | |
321 | + using (var file = File.CreateText(ConfigFile + ".tmp")) | |
322 | 322 | serializer.Serialize(file, this); |
323 | + if (File.Exists(ConfigFile)) | |
324 | + File.Delete(ConfigFile); | |
325 | + File.Move(ConfigFile + ".tmp", ConfigFile); | |
323 | 326 | } |
324 | 327 | |
325 | 328 | private void DecomposeNotificationFlags() |
@@ -73,8 +73,11 @@ namespace KancolleSniffer | ||
73 | 73 | public void Save() |
74 | 74 | { |
75 | 75 | var serializer = new XmlSerializer(typeof(Status)); |
76 | - using (var file = File.CreateText(StatusFile)) | |
76 | + using (var file = File.CreateText(StatusFile + ".tmp")) | |
77 | 77 | serializer.Serialize(file, this); |
78 | + if (File.Exists(StatusFile)) | |
79 | + File.Delete(StatusFile); | |
80 | + File.Move(StatusFile + ".tmp", StatusFile); | |
78 | 81 | } |
79 | 82 | } |
80 | 83 | } |
\ No newline at end of file |