Totemsoft.SDK.Framework4.Files.Formatted 命名空间

Totemsoft.SDK.Framework4.Files.Formatted 命名空间

提供文件的格式化管理

说明 Introduction

用于以标准的格式化管理文件,该类可以按照章节 Section、项 Item 的集合方式分级管理文件数据。


成员 Members

  • Totemsoft.SDK.Framework4.Files.Formatted 命名空间
    • Totemsoft.SDK.Framework4.Files.Formatted.FormattedFile
      • Totemsoft.SDK.Framework4.Files.Formatted.FormattedFile.FormattedSectionCollection
    • Totemsoft.SDK.Framework4.Files.Formatted.FormattedSection
      • Totemsoft.SDK.Framework4.FIles.Formatted.FormattedSection.FormattedItemCollection
    • Totemsoft.SDK.Framework4.Files.Formatted.FormattedItem
    • Totemsoft.SDK.Framework4.Files.Formatted.Exceptions 命名空间
      • Totemsoft.SDK.Framework4.Files.Formatted.Exceptions.InvalidFileFormatException
      • Totemsoft.SDK.Framework4.Files.Formatted.Exceptions.NullPasswordException
      • Totemsoft.SDK.Framework4.Files.Formatted.Exceptions.IncorrectPasswordException
      • Totemsoft.SDK.Framework4.FIles.Formatted.Exceptions.SectionNameAlreadyExistsException
      • Totemsoft.SDK.Framework4.Files.Formatted.Exceptions.ItemKeyAlreadyExistsException

版本信息 Version Information

Created date: 2017年04月13日
Last modify date: 2017年04月17日
Programmer: Eddie Chan
Version: 1.00.09


Copyright © 2017 Totemsoft Inc. All rights reserved.
Totemsoft is a trademark of Imago organization.


FormattedFile 类

构造函数 Constructors

名称说明
FormattedFile初始 FormattedFile 类的新实例,并将所有属性设置为初始值。

方法 Methods

名称说明
Load (String)从指定的磁盘或路径位置加载 FormattedFile 数据。
Load (String, String)从指定的磁盘或路径位置加载包含密码的 FormattedFile 数据。
Save (String, Boolean)将 FormattedFile 数据保存到指定的磁盘或路径位置。
Save (String, Boolean, String)将 FormattedFile 数据加密保存到指定的磁盘或路径位置。

Load (String, String) 与 Save (String, String) 需要添加对 Totemsoft.SDK.Framework4.Encrypted 的引用。


异常 Exceptions

名称说明
IOException路径、驱动器错误时触发。
FileNotFoundException文件名称错误时触发。
InvalidFileFormatException文件格式异常时触发。
NullPasswordException采用加密存储函数却未设置密码时触发。
IncorrectPasswordException加载文件密码不正确时触发。

IOException 位于 Totemsoft.SDK.Framework4.Devices.Exceptions 命名空间。
FileNotFoundException 位于 Totemsoft.SDK.Framework4.Files.Exceptions 命名空间。


FormattedFile.FormattedSectionCollection 类

构造函数 Constructors

名称说明
FormattedSectionCollection初始 FormattedSectionCollection 类的新实例,并将所有属性设置为初始值。

属性 Properties

类型名称说明
默认属性FormattedSections (String)获取或设置 FormattedSections 集合中指定名称处的 FormattedSection 对象。
只读属性FormattedFile获取包含该集合的 FormattedFile 对象。

方法 Methods

名称说明
Add (String)向 FormattedSectionCollection 集合中添加一个指定名称的 FormattedSection。
Add (FormattedSection)向 FormattedSectionCollection 集合中添加一个 FormattedSection 对象。
Count获取 FormattedSections 集合中 FormattedSection 的数量。
Contains (FormattedSection)确定 FormattedSections 集合是否包含指定 FormattedSection 对象。
ContainsName (String)确定 FormattedSections 集合是否包含指定名称的章节。
Remove (FormattedSection)从 FormattedSections 集合中移除指定 FormattedSection 对象。
RemoveName (String)从 FormattedSections 集合中移除包含指定名称的章节。
GetNameList获取 FormattedSections 集合中所有 FormattedSection 名称的列表。

异常 Exceptions

名称说明
SectionNameAlreadyExistsException当前 FormattedSections 集合中存在多个相同名称时触发。

FormattedSection 类

构造函数 Constructors

名称说明
FormattedSection初始 FormattedSection 类的新实例,并将所有属性设置为初始值。
FormattedSection (String)以指定名称初始 FormattedSection 类的新实例,并将所有属性设置为初始值。

属性 Properties

类型名称说明
Name获取或设置该 FormattedSection 的名称。
只读属性FormattedFile获取包含该章节的 FormattedFile 对象。
只读属性FormattedItems获取存储 FormattedItem 对象的集合。

FormattedSection.FormattedItemCollection 类

构造函数 Constructors

名称说明
FormattedItemCollection初始 FormattedItemCollection 类的新实例,并将所有属性设置为初始值。

属性 Properties

类型名称说明
默认属性FormattedItems (String)获取或设置 FormattedItems 集合中指定索引处的值。

方法 Methods

名称说明
Add (String, String)以键值对形式向 FormattedItems 集合中添加一个 FormattedItem 对象。
Add (FormattedItem)向 FormattedItems 集合中添加一个 FormattedItem 对象。
Count获取 FormattedItems 集合中 FormattedItem 的数量。
Contains (FormattedItem)确定 FormattedItems 集合中是否包含指定的 FormattedItem 对象。
ContainsKey (String)确定 FormattedItems 集合是否包含指定索引的项。
Remove (FormattedItem)从 FormattedItems 集合中移除指定的 FormattedItem 对象。
RemoveKey (String)从 FormattedItems 集合中移除包含指定索引的项。
GetKeyList获取 FormattedItems 集合中所有索引的列表。
GetValueList获取 FormattedItems 集合中所有值的列表。

异常 Exceptions

名称说明
ItemKeyAlreadyExistsException当前 FormattedItems 集合中存在多个相同索引值时触发。

FormattedItem 类

构造函数 Constructors

名称说明
FormattedItem初始 FormattedItem 类的新实例,并将所有属性设置为初始值。
FormattedItem (String, String)以键值对形式初始 FormattedItem 类的新实例,并将所有属性设置为初始值。

属性 Properties

类型名称说明
Key获取或设置此 FormattedItem 的索引。
Value获取或设置此 FormattedItem 的值。
只读属性FormattedSection获取包含该项的 FormattedSection 对象。

示例 Examples

以下示例将展示在驱动器 D 下生成名为 MyData.dat 文件。其中包含下列内容:

  • Network
    • IpAddress: 10.0.1.10
    • Port: 1549
    • Backlog: 10
  • Database
    • Type: SQL Server
    • Version: 2008 R2
    • Host: 10.0.1.8
    • Database: Catalog
  • Application
    • PluginDirectory: \Plugins
    • UpdateDirectory: \Update

Visual C Sharp Code

using System.Net;
using Totemsoft.SDK.Framework4.Files.Formatted;

public class TestFormattedClass
{
    public void CreateFormattedFile()
    {
        FormattedFile objFile = new FormattedFile();

        // Method FormattedFile.FormattedSectionCollection.Add(String)
        objFile.FormattedSections.Add("Network");

        // Method FormattedSection.FormattedItemCollection.Add(String, String)
        objFile.FormattedSections["Network"].FormattedItems.Add("IpAddress", "10.0.1.10");

        // Constructor FormattedItem(String, String)
        FormattedItem objPortItem = new FormattedItem("Port", "1549");

        // Method FormattedSection.FormattedItems.Add(FormattedItem);
        objFile.FormattedSections["Network"].FormattedItems.Add(objPortItem);

        // Default Constructor FormattedItem()
        FormattedItem objBacklogItem = new FormattedItem();
        objBacklogItem.Key = "Backlog";
        objBacklogItem.Value = "10";
        objFile.FormattedSections["Network"].FormattedItems.Add(objBacklogItem);

        // Constructor FormattedSection(String)
        FormattedSection objDatabaseSection = new FormattedSection("Database");
        FormattedItem objTypeItem = new FormattedItem("Type", "SQL Server");
        FormattedItem objVersionItem = new FormattedItem("Version", "2008 R2");
        FormattedItem objHostItem = new FormattedItem("Host", "10.0.1.8");
        FormattedItem objDatabaseItem = new FormattedItem("Database", "Catalog");
        objDatabaseSection.FormattedItems.Add(objTypeItem);
        objDatabaseSection.FormattedItems.Add(objVersionItem);
        objDatabaseSection.FormattedItems.Add(objHostItem);
        objDatabaseSection.FormattedItems.Add(objDatabaseItem);
        objFile.FormattedSections.Add(objDatabaseSection);

        // Default Constructor FormattedSection()
        FormattedSection objAppSection = new FormattedSection();
        objAppSection.Name = "Application";
        FormattedItem objPlugDirItem = new FormattedItem();
        objPlugDirItem.Key = "PluginsDirectory";
        objPlugDirItem.Value = "\\Plugins";
        objAddSection.FormattedItems.Add(objPlugDirItem);
        objFile.FormattedSections.Add(objAppSection);
        FormattedItem objUpdateDirItem = new FormattedItem();
        objUpdateDirItem.Key = "UpdateDirectory";
        objUpdateDirItem.Value = "\\Update";
        objFile.FormattedSections["Application"].FormattedItems.Add(objUpdateDirItem);

        // The Boolean is overwrite flag.
        objFile.Save("D:\\MyData.dat", false);
    }

    public void ReadFormattedFile()
    {
        FormattedFile objFile = new FormattedFile();
        objFile.Load("D:\\MyData.dat");
        string cIpAddress = objFile.FormattedSections["Network"].FormattedItems["IpAddress"];
        string cPort = objFile.FormattedSections["Network"].FormattedItems["Port"];
        DNS.IpAddress Ip = DNS.IpAddress.Parse(cIpAddress);
        DNS.IpAddress HostIp = DNS.IpAddress.Parse("10.0.1.8");
        int Port = int.Parse(cPort);

        // Change FormattedItem Value.
        FormattedSection objDatabaseSection = objFile.FormattedSections["Database"];
        objDatabaseSection.FormattedItems["Database"] = "Staff";

        // ContainsKey Condition.
        if (objDatabaseSection.FormattedItems.ContainsKey("Host"))
        {
            HostIp = DNS.IpAddress.Parse(objDatabaseSection.FormattedItems["Host"]);
        }
        else
        {
            objDatabaseSection.FormattedItems.Add("Host", HostIp.ToString());
        }

        objFile.Save("D:\\MyData.dat", true);
    }
}

Visual Basic Code

Imports System.Net
Imports Totemsoft.SDK.Framework4.Files.Formatted

Public Class TestFormattedClass
    Public Sub CreateFormattedFile()
        Dim objFile As New FormattedFile
        ' Method FormattedFile.FormattedSectionCollection.Add(String)
        objFile.FormattedSections.Add("Network")

        ' Method FormattedSection.FormattedItemCollection.Add(String, String)
        objFile.FormattedSections("Network").FormattedItems.Add("IpAddress", "10.0.1.10")

        ' Constructor FormattedItem(String, String)
        Dim objPortItem As FormattedItem = New FormattedItem("Port", "1549");

        ' Method FormattedSection.FormattedItems.Add(FormattedItem)
        objFile.FormattedSections("Network").FormattedItems.Add(objPortItem)

        ' Default Constructor FormattedItem()
        Dim objBacklogItem As FormattedItem = New FormattedItem
        objBacklogItem.Key = "Backlog"
        objBacklogItem.Value = "10"
        objFile.FormattedSections("Network").FormattedItems.Add(objBacklogItem)

        ' Constructor FormattedSection(String)
        Dim objDatabaseSection As FormattedSection = New FormattedSection("Database")
        Dim objTypeItem As FormattedItem = New FormattedItem("Type", "SQL Server")
        Dim objVersionItem As FormattedItem = New FormattedItem("Version", "2008 R2")
        Dim objHostItem As FormattedItem = New FormattedItem("Host", "10.0.1.8")
        Dim objDatabaseItem As FormattedItem = New FormattedItem("Database", "Catalog")
        objDatabaseSection.FormattedItems.Add(objTypeItem)
        objDatabaseSection.FormattedItems.Add(objVersionItem)
        objDatabaseSection.FormattedItems.Add(objHostItem)
        objDatabaseSection.FormattedItems.Add(objDatabaseItem)
        objFile.FormattedSections.Add(objDatabaseSection)

        ' Default Constructor FormattedSection()
        Dim objAppSection As FormattedSection = New FormattedSection
        objAppSection.Name = "Application"
        Dim objPlugDirItem As FormattedItem = New FormattedItem
        objPlugDirItem.Key = "PluginsDirectory"
        objPlugDirItem.Value = "\Plugins"
        objAddSection.FormattedItems.Add(objPlugDirItem)
        objFile.FormattedSections.Add(objAppSection)
        Dim objUpdateDirItem As FormattedItem = New FormattedItem
        objUpdateDirItem.Key = "UpdateDirectory"
        objUpdateDirItem.Value = "\Update"
        objFile.FormattedSections("Application").FormattedItems.Add(objUpdateDirItem)

        ' The Boolean is overwrite flag.
        objFile.Save("D:\MyData.dat", False)
    End Sub

    Public Sub ReadFormattedFile()
        Dim objFile As FormattedFile = New FormattedFile
        objFile.Load("D:\MyData.dat")
        Dim cIpAddress As String = objFile.FormattedSections("Network").FormattedItems("IpAddress")
        Dim cPort As String = objFile.FormattedSections("Network").FormattedItems("Port");
        Dim Ip As DNS.IpAddress = DNS.IpAddress.Parse(cIpAddress)
        Dim HostIp As DNS.IpAddress = DNS.IpAddress.Parse("10.0.1.8")
        Dim Port As Integer = Integer.Parse(cPort)

        ' Change FormattedItem Value.
        Dim objDatabaseSection As FormattedSection = objFile.FormattedSections("Database")
        objDatabaseSection.FormattedItems("Database") = "Staff"

        ' ContainsKey Condition.
        if objDatabaseSection.FormattedItems.ContainsKey("Host") Then
            HostIp = DNS.IpAddress.Parse(objDatabaseSection.FormattedItems("Host"))
        Else
            objDatabaseSection.FormattedItems.Add("Host", HostIp.ToString())
        End IF

        objFile.Save("D:\MyData.dat", True)
    End Sub
End Class

Copyright © 2017 Totemsoft Inc. All rights reserved.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值