diff --git a/SocketExample/TCPWindowV2.xaml.cs b/SocketExample/TCPWindowV2.xaml.cs index 0ea9af1..52921db 100644 --- a/SocketExample/TCPWindowV2.xaml.cs +++ b/SocketExample/TCPWindowV2.xaml.cs @@ -202,6 +202,8 @@ namespace SocketExample items.Add(new TagItem(taglist[j].EPCstring, EPCinfo, taglist[j].RSSI.ToString(), taglist[j].Count.ToString(), Timeinfo)); startTemp += 16 + TempLength; writeToTxt(path, $"EPC:{taglist[j].EPCstring}\nHEX:{EPCinfo}\nRSSI:{taglist[j].RSSI.ToString()} Count:{taglist[j].Count.ToString()} Time:{Timeinfo}\n____________________________"); + string year = DateTime.Now.ToString("yyyy-MM-dd"); + EnsureFolderExists($"日志文件夹/{year}"); //LogService.Instance.Debug(""); } @@ -498,6 +500,8 @@ namespace SocketExample public TCPWindowV2() { InitializeComponent(); + EnsureFolderExists("日志文件夹"); + } int currentcount = 0;//目前客户端的数量 @@ -703,5 +707,26 @@ namespace SocketExample } return returnStr; } + + private static void EnsureFolderExists(string folderPath) + { + // 检查指定的文件夹路径对应的文件夹是否已经存在 + if (!Directory.Exists(folderPath)) + { + try + { + // 如果文件夹不存在,则尝试创建该文件夹 + Directory.CreateDirectory(folderPath); + } + catch (IOException ex) + { + // 如果在创建文件夹过程中出现IOException异常(比如权限不足、磁盘已满等原因导致无法创建文件夹) + // 这里通过消息框向用户展示创建文件夹失败的异常信息,方便用户知晓问题所在 + MessageBox.Show($"创建文件夹 {folderPath} 失败,异常信息: {ex.Message}"); + // 重新抛出异常,让调用这个方法的上层代码知道创建文件夹出现了问题,以便进行进一步的处理,比如终止程序或者尝试其他恢复操作 + throw; + } + } + } } }