INI file and its use

Considering an application for file/data processing, there may not be a fixed configuration that would perform optimal for all user cases. There is often a need for tuning the application parameters like level of parallelism, memory usage, component location, external links, client connection information, etc as per user’s requirement. The question is where to keep this information ?

One option is to store this information in binary format using a tool/program. This will require a program/thread to read and write this information in synchronized manner, so that different processes(if any) do not leave the information in inconsistent state.

But if the parameters do not involve any security risk, why use a tool unnecessary for this purpose? The simpler way is to store this information at a well-known location, so that our application and the user should be able to find it easily or create it. The application developers create a simple text file in the application root directory with all the parameters initialized to default value (at the time of installation). Since the file contains simple text, the user can read and modify the values as required. The file extension is typically given “.ini” to denote the application start up term “initialization”. The .ini format is an informal standard for configuration. Most applications define their own specification for the content of .ini file. INI files typically have a basic structure composed of sections, properties, and values..