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