Cómo leer y escribir en un fichero INI usando el lenguaje de programación C# (C Sharp), con el IDE Microsoft Visual Studio Community 2019. Desarrollamos una aplicación completa en C#, con formulario (ventana) para Windows que permite leer un valor de un INI, o bien escribir un valor en un INI.

Ficheros INI, requisitos para leer ficheros INI con Visual Studio .NET C#

Un fichero INI tiene la siguiente estructura:

Básicamente consta de una o varias secciones, que se identifican con corchetes y dentro de cada sección una o varias claves con su valor.

Un ejemplo de fichero INI:

Estos ficheros están en desuso, han sido «sustituidos» por ficheros de tipo XML. Aunque muchas aplicaciones siguen usándolos por su sencillez. Principalmente se usan para guardar valores de configuración de una aplicación, como en el ejemplo anterior.

Lenguajes de programación como Borland Delphi, incluyen sus propias unidades (clases, librerías) para la lectura y escritura en estos ficheros INI, pero Visual Studio .Net C# no las incluye, directamente, dado que como decimos se trata de ficheros en desuso.

El único requisito para poder leer y escribir ficheros INI con C# es disponer del IDE de desarrollo Microsoft Visual Studio Community 2019 (o cualquier otra versión o IDE que soporte C#).

Nuevo proyecto y formulario en Microsoft Visual Studio Community 2019

En primer lugar crearemos un nuevo proyecto en Microsoft Visual Studio Community 2019, en nuestro caso de tipo «Aplicación Windows Forms (.NET Framework):

Nuevo proyecto y formulario en Microsoft Visual Studio Community 2019

Estableceremos el nombre de la solución, por ejemplo «Proyecto_LeerEscribirINI» y la carpeta donde se crearán todos sus ficheros:

Nuevo proyecto y formulario en Microsoft Visual Studio Community 2019

Agregaremos los siguientes componentes para crear una aplicación de ejemplo que lee valores de un fichero INI, pasándole el fichero INI, la sección y la clave. Y también guardará valores en fichero INI, pasándole el fichero INI, la sección, la clave y el valor:

Nuevo proyecto y formulario en Microsoft Visual Studio Community 2019

Crear clase con procedimientos para Leer y Escribir en ficheros INI

Desde nuestro proyecto, en el Explorador de soluciones, pulsaremos con el botón derecho y elegiremos «Agregar» – «Clase»:

Crear clase con procedimientos para Leer y Escribir en ficheros INI

Elegiremos «Clase» y en «Nombre» introduciremos «INI.cs»:

Crear clase con procedimientos para Leer y Escribir en ficheros INI

Agregaremos el siguiente código C# para la clase INI:

Código fuente en C# completo para el formulario anterior

El código fuente completo de la ventana que hemos creado anteriormente, que contiene todos los botones para seleccionar ficheros INI, para escribir un valor en una sección y clave de un INI y para leer un valor de una sección y clave de un INI, es el siguiente:

La aplicación ProyectoA Leer Escribir INI en funcionamiento

Compilaremos la aplicación para realizar pruebas, elegiremos un fichero INI (si es para escribir puede que no exista, en cuyo caso se creará). Por ejemplo, elegiremos el fichero ini «fichero_ini_ejemplo.ini» en la carpeta de la aplicación, en principio no existe. Introduciremos la Sección que se creará (si no existe), por ejemplo «Servidor de conexión», introduciremos la Clave, por ejemplo «host» y el valor de esta clave, por ejemplo «proyectoa.com». Pulsaremos «Escribir»:

La aplicación ProyectoA Leer Escribir INI en funcionamiento

Comprobaremos que se ha creado un fichero llamado «fichero_ini_ejemplo.ini» y que contiene, al menos, la sección, clave y valor introducidos:

La aplicación ProyectoA Leer Escribir INI en funcionamiento

El formato INI con el que se guardarán los datos anteriores:

También podremos comprobar el proceso «inverso», leer un valor de una sección y clave. Para ello introduciremos la sección y la clave en «Leer INI» y pulsaremos «Leer», si la clave existe en la sección indicadas obtendrá su valor:

La aplicación ProyectoA Leer Escribir INI en funcionamiento

Descarga de la aplicación de ejemplo completa ProyectoA Leer Escribir INI en C#

En el siguiente enlace dejamos disponible la descarga de la aplicación completa en C# que lee y escribe en ficheros INI: