Ir al contenido

Crear un fichero de texto con ASP

Los ficheros de texto pueden ser útiles para almacenar registros sencillos, trazas de ejecución, contadores o información temporal. En ASP clásico, podemos crearlos y escribir en ellos mediante FileSystemObject.

Es importante que la carpeta de destino tenga permisos de escritura y que los datos almacenados no sean sensibles ni procedan directamente del usuario sin una validación previa.

Primero creamos una instancia de Scripting.FileSystemObject mediante Server.CreateObject().

Dim fso
Set fso = Server.CreateObject("Scripting.FileSystemObject")

El objeto FileSystemObject permite trabajar con ficheros y carpetas desde ASP.

El método CreateTextFile() crea el fichero y devuelve un objeto TextStream, que utilizaremos para escribir el contenido.

Dim salida
Set salida = fso.CreateTextFile("C:\temp\victor.txt", True, False)

Los parámetros de CreateTextFile() son:

  • La ruta y el nombre del fichero.
  • Un valor Boolean que indica si se sobrescribirá un fichero existente.
  • Un valor Boolean que indica si el contenido se guardará como Unicode. Si se utiliza False, se empleará el formato predeterminado del sistema.

En una aplicación web suele ser preferible obtener una ruta física controlada mediante Server.MapPath():

Dim ruta
ruta = Server.MapPath("/datos/victor.txt")
Set salida = fso.CreateTextFile(ruta, True, False)

El método Write() añade texto sin introducir un salto de línea. En cambio, WriteLine() escribe el texto y añade un salto de línea al final.

salida.Write("Texto sin salto de línea")
salida.WriteLine("Texto seguido de un salto de línea")

Cuando terminemos de escribir, debemos ejecutar Close() sobre el objeto TextStream. Después podemos liberar las referencias asignándoles Nothing.

salida.Close
Set salida = Nothing
Set fso = Nothing
<%
Dim fso
Dim salida
Dim ruta
ruta = Server.MapPath("/datos/victor.txt")
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set salida = fso.CreateTextFile(ruta, True, False)
salida.WriteLine("Registro creado desde ASP")
salida.WriteLine("Fecha: " & Now())
salida.Close
Set salida = Nothing
Set fso = Nothing
%>

Este ejemplo crea un fichero con CreateTextFile(), escribe dos líneas mediante WriteLine() y cierra correctamente el TextStream antes de liberar los objetos.

Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

Descarga el código de Crear un fichero de texto con ASP

Descubre cómo crear un fichero de texto con ASP de forma segura y eficiente, usando FileSystemObject y WriteLine para registrar datos al instante.

Descargar código