INIFileParser
Asserts that a strings has no blank spaces.
The string to be checked.
Represents an INI data parser for files.
Ctor
Ctor
Implements reading ini data from a file.
Uses codification for the file.
Path to the file
Implements reading ini data from a file.
Path to the file
File's encoding.
Saves INI data to a file.
Creats an ASCII encoded file by default.
Path to the file.
IniData to be saved as an INI file.
Writes INI data to a text file.
Path to the file.
IniData to be saved as an INI file.
Specifies the encoding used to create the file.
Represents all data from an INI file
Represents all sections from an INI file
Initializes an empty IniData instance.
Initializes a new IniData instance using a previous
.
object containing the
data with the sections of the file
Configuration used to write an ini file with the proper
delimiter characters and data.
If the instance was created by a parser,
this instance is a copy of the used
by the parser (i.e. different objects instances)
If this instance is created programatically without using a parser, this
property returns an instance of
Global sections. Contains key/value pairs which are not
enclosed in any section (i.e. they are defined at the beginning
of the file, before any section.
Gets the instance
with the specified section name.
Gets or sets all the
for this IniData instance.
Used to mark the separation between the section name and the key name
when using .
Defaults to '.'.
Creates a new object that is a copy of the current instance.
A new object that is a copy of this instance.
See property for more information.
Deletes all comments in all sections and key values
Merges the other iniData into this one by overwriting existing values.
Comments get appended.
IniData instance to merge into this.
If it is null this operation does nothing.
Attempts to retrieve a key, using a single string combining section and
key name.
The section and key name to retrieve, separated by .
If key contains no separator, it is treated as a key in the section.
Key may contain no more than one separator character.
If true is returned, is set to the value retrieved. Otherwise, is set
to an empty string.
True if key was found, otherwise false.
key contained multiple separators.
Retrieves a key using a single input string combining section and key name.
The section and key name to retrieve, separated by .
If key contains no separator, it is treated as a key in the section.
Key may contain no more than one separator character.
The key's value if it was found, otherwise null.
key contained multiple separators.
Merge the sections into this by overwriting this sections.
Merges the given global values into this globals by overwriting existing values.
Information associated to a key from an INI file.
Includes both the value and the comments associated to the key.
Initializes a new instance of the class.
Initializes a new instance of the class
from a previous instance of .
Data is deeply copied
The instance of the class
used to create the new instance.
Gets or sets the comment list associated to this key.
Gets or sets the value associated to this key.
Gets or sets the name of the key.
Creates a new object that is a copy of the current instance.
A new object that is a copy of this instance.
Represents a collection of Keydata.
Initializes a new instance of the class.
Initializes a new instance of the class with a given
search comparer
Search comparer used to find the key by name in the collection
Initializes a new instance of the class
from a previous instance of .
Data from the original KeyDataCollection instance is deeply copied
The instance of the class
used to create the new instance.
Gets or sets the value of a concrete key.
If we try to assign the value of a key which doesn't exists,
a new key is added with the name and the value is assigned to it.
Name of the key
The string with key's value or null if the key was not found.
Return the number of keys in the collection
Adds a new key to the collection
KeyData instance.
true if the key was added false if a key with the same name already exist
in the collection
Adds a new key with the specified name and value to the collection
Name of the new key to be added.
Value associated to the key.
true if the key was added false if a key with the same name already exist
in the collection.
Clears all comments of this section
Gets if a specifyed key name exists in the collection.
Key name to search
true if a key with the specified name exists in the collectoin
false otherwise
Retrieves the data for a specified key given its name
Name of the key to retrieve.
A instance holding
the key information or null if the key wasn't found.
Deletes all keys in this collection.
Deletes a previously existing key, including its associated data.
The key to be removed.
true if a key with the specified name was removed
false otherwise.
Sets the key data associated to a specified key.
The new for the key.
Allows iteration througt the collection.
A strong-typed IEnumerator
Implementation needed
A weak-typed IEnumerator.
Creates a new object that is a copy of the current instance.
A new object that is a copy of this instance.
Collection of KeyData for a given section
Information associated to a section in a INI File
Includes both the value and the comments associated to the key.
Initializes a new instance of the class.
Initializes a new instance of the class
from a previous instance of .
Data is deeply copied
The instance of the class
used to create the new instance.
Search comparer.
Deletes all comments in this section and key/value pairs
Deletes all the key-value pairs in this section.
Merges otherSection into this, adding new keys if they don't exists
or overwriting values if the key already exists.
Comments get appended.
Comments are also merged but they are always added, not overwritten.
Gets or sets the name of the section.
The name of the section
Gets or sets the comment list associated to this section.
A list of strings.
Gets or sets the keys associated to this section.
A collection of KeyData objects.
Creates a new object that is a copy of the current instance.
A new object that is a copy of this instance.
Represents a collection of SectionData.
Initializes a new instance of the class.
Initializes a new instance of the class.
StringComparer used when accessing section names
Initializes a new instance of the class
from a previous instance of .
Data is deeply copied
The instance of the class
used to create the new instance.
Returns the number of SectionData elements in the collection
Gets the key data associated to a specified section name.
An instance of as class
holding the key data from the current parsed INI data, or a null
value if the section doesn't exist.
Creates a new section with empty data.
If a section with the same name exists, this operation has no effect.
Name of the section to be created
true if the a new section with the specified name was added,
false otherwise
If the section name is not valid.
Adds a new SectionData instance to the collection
Data.
Removes all entries from this collection
Gets if a section with a specified name exists in the collection.
Name of the section to search
true if a section with the specified name exists in the
collection false otherwise
Returns the section data from a specify section given its name.
Name of the section.
An instance of a class
holding the section data for the currently INI data
Sets the section data for given a section name.
The new instance.
true if the section with the specified name was removed,
false otherwise
Returns an enumerator that iterates through the collection.
A that can be used to iterate through the collection.
Returns an enumerator that iterates through a collection.
An object that can be used to iterate through the collection.
Creates a new object that is a copy of the current instance.
A new object that is a copy of this instance.
Data associated to this section
Configuration used to write an ini file with the proper
delimiter characters and data.
If the instance was created by a parser,
this instance is a copy of the used
by the parser (i.e. different objects instances)
If this instance is created programatically without using a parser, this
property returns an instance of
Formats a IniData structure to an string
Produces an string given
The data to string.
Ini data.
Configuration used by this formatter when converting IniData
to an string
Represents all data from an INI file exactly as the
class, but searching for sections and keys names is done with
a case insensitive search.
Initializes an empty IniData instance.
Initializes a new IniData instance using a previous
.
object containing the
data with the sections of the file
Copies an instance of the class
Original
Defines data for a Parser configuration object.
With a configuration object you can redefine how the parser
will detect special items in the ini file by defining new regex
(e.g. you can redefine the comment regex so it just treat text as
a comment iff the comment caracter is the first in the line)
or changing the set of characters used to define elements in
the ini file (e.g. change the 'comment' caracter from ';' to '#')
You can also define how the parser should treat errors, or how liberal
or conservative should it be when parsing files with "strange" formats.
Default values used if an instance of
is created without specifying a configuration.
By default the various delimiters for the data are setted:
';' for one-line comments
'[' ']' for delimiting a section
'=' for linking key / value pairs
An example of well formed data with the default values:
;section comment
[section] ; section comment
; key comment
key = value ;key comment
;key2 comment
key2 = value
Copy ctor.
Original instance to be copied.
Sets the char that defines the start of a section name.
Defaults to character '['
Sets the char that defines the end of a section name.
Defaults to character ']'
Retrieving section / keys by name is done with a case-insensitive
search.
Defaults to false (case sensitive search)
Sets the char that defines the start of a comment.
A comment spans from the comment character to the end of the line.
Defaults to character ';'
Sets the string that defines the start of a comment.
A comment spans from the mirst matching comment string
to the end of the line.
Defaults to string ";"
Gets or sets the string to use as new line string when formating an IniData structure using a
IIniDataFormatter. Parsing an ini-file accepts any new line character (Unix/windows)
This allows to write a file with unix new line characters on windows (and vice versa)
Defaults to value Environment.NewLine
Sets the char that defines a value assigned to a key
Defaults to character '='
Sets the string around KeyValuesAssignmentChar
Defaults to string ' '
Allows having keys in the file that don't belong to any section.
i.e. allows defining keys before defining a section.
If set to false and keys without a section are defined,
the will stop with an error.
Defaults to true.
If set to false and the finds duplicate keys in a
section the parser will stop with an error.
If set to true, duplicated keys are allowed in the file. The value
of the duplicate key will be the last value asigned to the key in the file.
Defaults to false.
Only used if is also true
If set to true when the parser finds a duplicate key, it overrites
the previous value, so the key will always contain the value of the
last key readed in the file
If set to false the first readed value is preserved, so the key will
always contain the value of the first key readed in the file
Defaults to false.
Gets or sets a value indicating whether duplicate keys are concatenate
together by .
Defaults to false.
If true the instance will thrown an exception
if an error is found.
If false the parser will just stop execution and return a null value.
Defaults to true.
If set to false and the finds a duplicate section
the parser will stop with an error.
If set to true, duplicated sections are allowed in the file, but only a
element will be created in the
collection.
Defaults to false.
If set to false, the stop with a error if you try
to access a section that was not created previously and the parser will stop with an error.
If set to true, inexistents sections are created, always returning a valid
element.
Defaults to false.
Creates a new object that is a copy of the current instance.
A new object that is a copy of this instance.
2
Responsible for parsing an string from an ini file, and creating
an structure.
Ctor
The parser uses a by default
Ctor
Parser's instance.
Configuration that defines the behaviour and constraints
that the parser must follow.
True is the parsing operation encounter any problem
Returns the list of errors found while parsing the ini file.
If the configuration option ThrowExceptionOnError is false it can contain one element
for each problem found while parsing; otherwise it will only contain the very same
exception that was raised.
Parses a string containing valid ini data
String with data
An instance with the data contained in
the correctly parsed an structured.
Thrown if the data could not be parsed
Checks if a given string contains a comment.
String with a line to be checked.
true if any substring from s is a comment, false otherwise.
Checks if a given string represents a section delimiter.
The string to be checked.
true if the string represents a section, false otherwise.
Checks if a given string represents a key / value pair.
The string to be checked.
true if the string represents a key / value pair, false otherwise.
Removes a comment from a string if exist, and returns the string without
the comment substring.
The string we want to remove the comments from.
The string s without comments.
Processes one line and parses the data found in that line
(section or key/value pair who may or may not have comments)
The string with the line to process
Proccess a string which contains an ini section.
The string to be processed
Processes a string containing an ini key/value pair.
The string to be processed
Extracts the key portion of a string containing a key/value pair..
The string to be processed, which contains a key/value pair
The name of the extracted key.
Extracts the value portion of a string containing a key/value pair..
The string to be processed, which contains a key/value pair
The name of the extracted value.
Abstract Method that decides what to do in case we are trying to add a duplicated key to a section
Adds a key to a concrete instance, checking
if duplicate keys are allowed in the configuration
Key name
Key's value
collection where the key should be inserted
Name of the section where the is contained.
Used only for logging purposes.
Temp list of comments
Tmp var with the name of the seccion which is being process
Represents an INI data parser for streams.
This instance will handle ini data parsing and writing
Ctor
Ctor
Reads data in INI format from a stream.
Reader stream.
And instance with the readed ini data parsed.
Thrown if is null.
Writes the ini data to a stream.
A write stream where the ini data will be stored
An instance.
Thrown if is null.
Writes the ini data to a stream.
A write stream where the ini data will be stored
An instance.
Formaterr instance that controls how the ini data is transformed to a string
Thrown if is null.
Represents an INI data parser for strings.
This class is deprecated and kept for backwards compatibility.
It's just a wrapper around class.
Please, replace your code.
This instance will handle ini data parsing and writing
Ctor
Ctor
Parses a string containing data formatted as an INI file.
The string containing the data.
A new instance with the data parsed from the string.
Creates a string from the INI data.
An instance.
A formatted string with the contents of the
instance object.
Represents an error ococcurred while parsing data