# fsys.ini 库模块帮助文档

## fsys 成员列表 <a id="fsys" href="#fsys">&#x23;</a>

### fsys.ini <a id="fsys.ini" href="#fsys.ini">&#x23;</a>
用于 INI 文件读写  

如果文件已存在并使用 UTF-16 编码存储，则文件保持原编码。  
否则使用 ANSI 编码存储 INI 文件。  
在 aardio 中仍以 UTF-8 编码读写，读写时自动转换编码。  
改用 string.ini，JSON, fsys.config 则可始终使用 UTF-8 编码读写配置文件。

打开 INI 文件对象。  
如果文件未存在并且存在同路径的资源文件，  
则先将资源文件保存到本地文件。

### fsys.ini() <a id="fsys.ini" href="#fsys.ini">&#x23;</a>
[返回对象:fsysIniFileObject](#fsysIniFileObject)

### fsys.ini(path) <a id="fsys.ini" href="#fsys.ini">&#x23;</a>
打开 path 参数指定路径的INI 文件对象。  
如果文件已存在并使用 UTF-16 编码存储，则继续以此编码存储 INI 文件。  
否则使用 ANSI 编码存储 INI 文件。  
在 aardio 中仍以 UTF-8 编码读写，读写时自动转换编码。

### fsys.ini(path,true) <a id="fsys.ini" href="#fsys.ini">&#x23;</a>
= 打开 path 参数指定路径的 INI 文件对象。  
如果文件未存在则创建文件并添加 UTF-16 LE BOM 头，并继续以此编码存储 INI 文件。  
如果文件已存在并使用 UTF-16 编码存储，则继续以此编码存储 INI 文件。  
否则使用 ANSI 编码存储 INI 。  
在 aardio 中仍以 UTF-8 编码读写，读写时自动转换编码。

## fsysIniFileObject 成员列表 <a id="fsysIniFileObject" href="#fsysIniFileObject">&#x23;</a>

### fsysIniFileObject.eachSection() <a id="fsysIniFileObject.eachSection" href="#fsysIniFileObject.eachSection">&#x23;</a>
[返回对象:inisectionObject](#inisectionObject)

```aardio
for section in fsysIniFileObject.eachSection(/*可选用模式匹配搜索*/) { 
	for(k,v in section){
		/*k 为键，v 为值，section 为当前遍历到的小节*/
	}
}
```

### fsysIniFileObject.getSection("字符串参数") <a id="fsysIniFileObject.getSection" href="#fsysIniFileObject.getSection">&#x23;</a>
读取或添加小节对象,可直接读写成员

### fsysIniFileObject.getSection() <a id="fsysIniFileObject.getSection" href="#fsysIniFileObject.getSection">&#x23;</a>
[返回对象:inisectionObject](#inisectionObject)

### fsysIniFileObject.getSectionNames() <a id="fsysIniFileObject.getSectionNames" href="#fsysIniFileObject.getSectionNames">&#x23;</a>
获取所有小节名字,返回字符串数组.

### fsysIniFileObject.read("小节名","键名") <a id="fsysIniFileObject.read" href="#fsysIniFileObject.read">&#x23;</a>
读取 INI 指字小节的指键键  
可选使用参数 @3 指定默认值  
成功返回读取的值,失败返回 null  

如果指定键名成功应返回字符串值  
不指定键名成功返回小节下所有键值组成的字符串数组  
返回字符串、数组、null 时都可以使用#操作符取长度,null 的长度为0，  
null,0 转换为逻辑值都等价于 false

### fsysIniFileObject.readKeys("小节名") <a id="fsysIniFileObject.readKeys" href="#fsysIniFileObject.readKeys">&#x23;</a>
返回指定小节中所有键名组成的字符串数组

### fsysIniFileObject.readSectionNames() <a id="fsysIniFileObject.readSectionNames" href="#fsysIniFileObject.readSectionNames">&#x23;</a>
返回小节名称组成的字符串数组

### fsysIniFileObject.write("小节名","键名","新值") <a id="fsysIniFileObject.write" href="#fsysIniFileObject.write">&#x23;</a>
写 INI 文件  
健名为 null 删除指定的小节  
值为 null 删除指定的键名

## inisectionObject 成员列表 <a id="inisectionObject" href="#inisectionObject">&#x23;</a>

### inisectionObject.* <a id="inisectionObject.any" href="#inisectionObject.any">&#x23;</a>
可输入任意属性名，读写小节属性。  
成功返回字符串值,失败返回 null 。

### inisectionObject.name() <a id="inisectionObject.name" href="#inisectionObject.name">&#x23;</a>
返回小节名称

### inisectionObject.save() <a id="inisectionObject.save" href="#inisectionObject.save">&#x23;</a>
保存更改到 INI 文件
