From 71660bd72f52a8b7537e290e36dfbe87e97bee44 Mon Sep 17 00:00:00 2001 From: Sunny Date: Fri, 11 Aug 2023 14:46:28 +0800 Subject: [PATCH] =?UTF-8?q?*=20UIniFile:=20=E5=A2=9E=E5=8A=A0=E4=BA=86?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E7=BB=9D=E5=AF=B9=E8=B7=AF=E5=BE=84=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E5=92=8C=E6=96=87=E4=BB=B6=E5=A4=B9=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E5=AD=98=E5=9C=A8=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SunnyUI/Common/UIniFile.cs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/SunnyUI/Common/UIniFile.cs b/SunnyUI/Common/UIniFile.cs index 95cceb72..c0b34624 100644 --- a/SunnyUI/Common/UIniFile.cs +++ b/SunnyUI/Common/UIniFile.cs @@ -19,6 +19,7 @@ * 2020-01-01: V2.2.0 增加文件说明 * 2022-11-01: V3.2.6 增加读取字符串长度到4096,增加文件编码 * 2023-07-07: V3.3.9 将文件版本和文件编码写入文件头部 + * 2023-08-11: v3.4.1 增加了文件绝对路径判断和文件夹是否存在判断 ******************************************************************************/ using Sunny.UI.Win32; @@ -44,7 +45,6 @@ namespace Sunny.UI [Description("文件名")] public string FileName { get; set; } //INI文件名 - /// /// Ini文件编码格式 /// @@ -56,8 +56,22 @@ namespace Sunny.UI /// 文件名 public IniBase(string fileName) { + if (!fileName.Contains(":")) + { + throw new ArgumentException("The file name must be an absolute path."); + } + //必须是完全路径,不能是相对路径 FileName = fileName; + + FileInfo fi = new FileInfo(FileName); + DirEx.CreateDir(fi.DirectoryName); + + if (!Directory.Exists(fi.DirectoryName)) + { + throw new ArgumentException("Folder does not exist: " + fi.DirectoryName); + } + // 判断文件是否存在 if (!File.Exists(fileName)) {