Usando ficheros temporales en ASP Octubre 21, 2009
Publicado por lineadecodigo en : ASP , Añadir un comenarioHace poco tiempo estaba inmerso en una pruebas de carga dentro de las cuales existia un punto donde se generaba un fichero de texto en ASP mediante el objeto FileSystemObject. El problema se nos planteaba cuando simulabamos grandes volumenes de peticiones con el mismo proceso ya que todas intentaban generar el mismo fichero. A si que el sistema de archivos de las máquinas se volvia loco.
Como la creación del fichero no era el fin último de las pruebas se opto por generar un fichero de nombre aleatorio. Llegados a este punto nos podemos llegar a pensar la necesidad de creación de algún procedimiento que nos genere nombres de fichero de forma aleatorio.
Pero la solución es mucho más sencilla ya que el objeto FileSystemObject nos ofrece el procedimiento GetTempName que nos devolverá el nombre de un fichero aleatorio para usar de manera temporal.
<% Set fso = Server.CreateObject("Scripting.FileSystemObject") Response.Write("El fichero temporal a usar es: " + fso.GetTempName()) %>
Algo muy sencillo y realmente útil. Se te ocurre alguna otra forma de usar ficheros temporales en ASP. Cuéntanosla...
|- Descargar el código|- Reportar error en el código
Crear un fichero de texto con ASP Octubre 20, 2009
Publicado por lineadecodigo en : ASP , Añadir un comenario¿Para qué nos puede servir el uso de un fichero de texto en la web?. Hay que partir de la base que los accesos a disco son mucho menos costosos que los accesos a bases de datos ya que nos evitamos el abrir una conexión sobre otro servidor. A si que es muy normal el uso de fichero para el almacenamiento de información, que posiblemente sea cargada en una base de datos por un proceso batch. Lo que vendría a ser una cache.
La información que podemos guardar en los ficheros puede ser de diferente indole. Así podemos usar ficheros para:
- Crear un contador de visitas. Leeremos el fichero y actualizaremos el contador de visitas.
- Generar datos de acceso a la web. Quien accede, su IP, el tipo de navegador que usa,....
- Trazas de ejecución de la página. Para ver que código se ejecuto y cual no y así evaluarlo posteriormente.
- Datos de mucho acceso. Información estática que es accedida muchas veces.
- ....
Vamos a utilizar un objeto FileSystemObject para generar un fichero de texto. Una vez generado el fichero podremos escribir en el todo el contenido que queramos. El método que nos va a servir para crear el fichero es CreateTextFile() al cual podemos pasarle tres parámetros:
- Nombre del fichero, ruta y nombre del fichero que queremos crear. Hay que validar si el directorio donde queremos crear el fichero tiene permisos de escritura. Es muy posible que el webmaster de nuestro servidor tenga que habilitarnos un directorio a tal efecto, ya que por defecto la escritura la tendremos prohibida en todo o casi todo el sevidor.
- Sobrescribir, es un valor booleano mediante el cual podemos indicar que se sobrescriba el fichero aunque exista (valor true, es el valor por defecto) o que se deje como está (valor false)
- Unicode, es otro valor booleano que nos sirve para indicar si el fichero va a ser UNICODE (valor true) o ASCII (valor false, es el valor por defecto).
La ejecución de este método nos va a devolver un objeto TextStream sobre el cual realizaremos las escrituras. A si que tendremos una primera línea que será algo similar a esta...
Set salida = fso.CreateTextFile ("c:\temp\victor.txt")
Una vez creado el fichero y obtenida una referencia al TextStream solamente nos quedará lanzar sentencias de escritura. Para ello podemos ejecutar sobre el TextStream los métodos Write(texto) y WriteLine(Texto). El segundo escribe un texto y un salto de línea.
salida.Write ("Texto Normal") salida.WriteLine ("Texto acompañado por un salto de línea")
Por último, y una vez que hayamos escrito todo lo que queramos solo nos quedará cerrar el TextStream.Close(). Y si somos muy puristas desalojamos los objetos creados de memoria asignandoles el valor Nothing.
|- Descargar el código
Set fso = Nothing Set salida = Nothing
|- Reportar error en el código
|- Foro sobre ASP
Listar contenido de un directorio con ASP Febrero 4, 2009
Publicado por lineadecodigo en : ASP , 2 comentariosUna de las cosas que nos permite el objeto FileSystemObject es listar el contenido de un directorio.
Esto nos puede servir si queremos implementar mediante ASP una especie de navegador de carpetas del servidor o algo por el estilo. De esta manera y junto con el resto de características del objeto FileSystemObject podemos llegar a implementar un verdadero gestor de los ficheros de nuestro servidor.
Lo primero que tenemos que hacer es obtener una referencia a dicho objeto:
Set fso = CreateObject("Scripting.FileSystemObject")
Una vez instanciado el objeto FileSystemObject, lo que tenemos que hacer es recuperar una referencia a la carpeta de la cual queremos listar los archivos. Para ello nos apoyamos en el método .GetFolder().
Set directorio = fso.GetFolder ("C:\windows")
Esta referencia, en si, es otro objeto, el cual contendrá el listado de ficheros. A si que, lo que pasaremos a hacer es recorrer dicho objeto ayudándonos de un bucle for..each.
For Each fichero IN directorio.Files ... Next
Directamente podemos volcar el contenido de la variable fichero, lo cual nos dará información sobre el mismo. Por otro lado, si queremos obtener solo el nombre del fichero, podemos crear un objeto File. Del objeto file podemos utilizar la propiedad Name para obtener únicamente el nombre del fichero, sin la ruta.
Set file = fso.GetFile(fichero) Response.Write fichero.Name &"<BR>"
El código completo nos quedaría de la siguiente forma:
|- Descargar el código
For Each fichero IN directorio.Files Set file = fso.GetFile(fichero) Response.Write (fichero.Name)&"<BR>" Next
|- Reportar error en el código
Saber si una ruta es un directorio con Java Febrero 1, 2009
Publicado por lineadecodigo en : Java , Hasta ahora 1 comentarioLa clase File nos permite en Java instanciar cualquier elemento del sistema de ficheros y trabajar con él de una forma genérica. A la hora de instanciar el elemento podremos pasar al constructor bien un directorio o bien un fichero.
La instanciación de un objeto File sería de la siguiente forma:
Solo tendremos que apoyarnos en el método .isDirectory() para saber si una ruta es un directorio con Java:
|- Descargar el código
if (fRuta.isDirectory()) else
|- Reportar error en el código
Borrar un fichero con ASP Enero 25, 2009
Publicado por lineadecodigo en : ASP , Añadir un comenarioUna de las operaciones que podemos hacer cuando estemos trabajando con un fichero será lde borrado. Borrar un fichero con ASP será tan sencillo como invocar al método DeleteFile.
El método DeleteFile depende del objeto FileSystemObjet. Es por ello que lo primero que tendremos que hacer será instanciar el fichero FileSystemObjet.
Set fso = Server.CreateObject("Scripting.FileSystemObject")
El método DeleteFile lleva dos argumentos. El primero es el nombre del fichero que queremos borrar y el segundo es una condición booleana que indica que hacer en caso de que el fichero sea de solo lectura. Indicando un valor true el fichero se eliminará independientemente de si es de lectura o no. Si bien, por defecto, el valor de este campo es false.
DeleteFile(fichero, obligatorio)
Además debemos de tener en cuenta que en el caso de que intentemos borrar un fichero que no existe nos dará fallo. Es por ello que deberemos de comprobar la existencia del mismo mediante el método FileExists al cual le pasamos la ruta con el nombre del fichero.
El código nos quedará de la siguiente forma:
|- Descargar el código
if (fso.FileExists(sFichero)) then fso.DeleteFile sFichero,true Response.Write "Borrado el fichero " & sFichero else Response.Write "No existe el fichero " & sFichero end if
|- Reportar error en el código
Cargar un fichero con jQuery Enero 25, 2009
Publicado por lineadecodigo en : jQuery , 3 comentariosYa están lejos los tiempos dónde un site de Internet estaba compuesto solo por páginas estáticas HTML. Ahora la mayoría se componen en los servidores, mezclando información, ficheros, datos almacenados,... Si bien podemos tener la necesidad de tener dinamismo en la carga de datos de la parte cliente. Para ello, jQuery nos dará la capacidad de cargar un fichero de forma dinámica.
Lo primero que tenemos que hacer es crear un fichero HTML de test. Este lo llamaremos test.html. Ahora pasamos a crear la página que nos permite cargar un fichero con jQuery. En esta, lo primero que vamos a hacer es cargar la librería jQuery.
<script type="text/javascript" src="jquery.js"></script>
Como en la mayoría de las ocasiones utilizamos la función ready para esperar que se cargue la página. Dentro de la función ready será donde insertemos nuestro código jQuery.
$(document).ready(function(){ $("#carga").click(function() { // Código }); });
Vemos que el código que nos va a permitir cargar un fichero con jQuery se lo asociaremos al evento click de un elemento que llevará el ID carga. Por ejemplo, pondremos un botón...
<button id="carga">Cargar fichero</button>
Además añadiremos una capa, a la cual daremos el ID texto, sobre la cual cargaremos el fichero HTML.
<div id="texto"></div>
Ya solo nos quedará cargar el fichero. Para ello utilizamos la función .load(), a la cual pasamos el nombre del fichero a cargar. En nuestro caso el fichero test.html
|- Visualizar el ejemplo
$("#carga").click(function() { $("div#texto").load("test.html"); });
|- Descargar el código
|- Reportar error en el código
|- Foro sobre jQuery
Listar un directorio con Java Diciembre 26, 2008
Publicado por lineadecodigo en : Java , 3 comentariosMediante la clase File podremos listar de forma sencilla el contenido de un directorio. Lo primero que tendremos que hacer es crear un objeto de tipo File con el nombre del directorio a a listar.
String sDirectorio = "c:\\datos";
Utilizaremos el método .exists() para comprobar que el directorio existe.
if (f.exists()){ // Directorio existe } else { //Directorio no existe }
Una vez pasada esta validación utilizamos el método .listFiles. Este método devuelve todos los ficheros asociados al directorio en un array de Files. Es por ello que solo nos quedará recorrer el array e ir mostrando el nombre de lo ficheros y directorios que componen nuestro directorio.
for (int x=0;x<ficheros.length;x++){ }
Para obtenerel nombre del fichero o directorio utilizamos el método .getName().
|- Descargar el código|- Reportar error en el código
Borrar un fichero con Java Febrero 26, 2008
Publicado por lineadecodigo en : Java , 29 comentariosBorrar un fichero con Java es una actividad bastante sencilla, ya que mediante la clase File, la cual nos abstrae de la manipulación de ficheros, se nos ofrece un método para llevar a cabo tal cometido.
Lo primero que deberemos de hacer es instanciar una clase File. Para instanciar esta clase deberemos de pasar al constructor el nombre del fichero sobre el que queremos trabajar.
|- Foro sobre Java IOModificar valores de un fichero Properties Diciembre 23, 2007
Publicado por lineadecodigo en : Java , 9 comentariosLos ficheros de propiedades nos sirven para guardar pares clave/valor que normalmente contienen información variable utilizada por nuestro programa. Estaríamos hablando de ficheros de configuración.
Así, a bote pronto, se me ocurren cosas como URLs a las que acudir por información, datos sobre el usuario/password, números que representen límites de nuestras ejecuciones,...



