You are on page 1of 10

Universidad Tecnológica de Campeche

Tecnología de la Información y Comunicación

REPORTE
Asignatura: Desarrollo de Aplicaciones II Profesor: Pablo Moreno Salvador Alumno: Lourdes Estefany Cuellar López Grado y Grupo: 4º A Practica #3 Listar Archivos de un Directorio

todo esto en una sola aplicación en Visual Studio 2008 en ASP. IO por medio de la aplicación y elaborar una aplicación donde se muestren todos los archivos y carpetas de algun disco logico que tiene la computadora.NET con los espacios de nombres de System. nos aparecerá una ventana que dice “Nuevo proyecto” y seleccionamos “Aplicación Web ASP.IO en donde vamos a listar todos los archivos y carpetas en una tabla en donde se verá los detalles del directorio que se encuentre.NET.Introducción En este reporte aprenderemos hacer una aplicación en Visual Studio 2008 en ASP. Metodología Abrimos Visual Studio 2008 y le damos clic donde dice crear proyecto. Objetivo Aprender Identificar cada una de las clases de los espacios de nombres de System. al igual mostraremos detalles de cada carpeta y archivos en contrados. en la parte de abajo te dan la opción de ponerle nombre y le ponemos “Practica 3” y le damos aceptar como se muestra en la siguiente imagen: .NET”.

Colocaremos en nuestra la aplicación 1 TexBox y 1 botones y para que veas como estan acomodos y cuales son sus nombres. los otros son para trabajar con directorios y mostrar archivos dentro directorio.UI. ruta2 As String Protected i.IO Imports System. . j As Integer En este codigo lo que indicamos al principio es que es necesario poner que vamos a trabajar con el espacio de nombre System.IO [FileInfo y DirectoryInfo] Vamos a empezar a poner lo siguiente antes de programar: Imports System. Objeto TexBox1 Button1 Propiedad (ID) (ID) Text Valor txtTexto btnListar Usando System. observaras la siguiente imagen: En la siguiente tabla te dare la descripcion de las propiedades del boton y la caja de texto que le corresponde.Web.Directory Imports System Partial Public Class _Default Inherits System. luego declaramos 2 variables por que son las que vamos a utilizar en todo el codigo y se tiene que declarar desde antes de programar el boton y la caja de texto.IO ya que sino nos nos permitira poner sus clases.Page Protected ruta.IO.

Write("<h2 align=center style='fontfamily:verdana.Directory.Write es para cuando se encuentre la ruta seleccionada se muestre como titulo Listar archivos de directorio y abajo en una tabla donde se mostraran los archivos del directorio.MapPath(ruta2) Else ruta = ruta2 End If Catch ex As Exception Response. ByVal e As EventArgs) Handles txtTexto.'><b> " & ex.StartsWith("/") Then ruta = Server.Write("<h2 align=center style='fontfamily:verdana. El primer Response.Directory. Y el segundo solo es para mandar el mensaje si la ruta no existe.El StartsWhith determina si el principio de esta instancia coincide con la cadena especificada y el Server. carpeta As String Dim sArchivos().font-size:10pt.GetDirectories(ruta) .TextChanged Try ruta2 = txtTexto. color:red.'>Listar archivos de un directorio<h2>") Response. Ahora vamos a codificar el boton con el siguiente codigo: Protected Sub btnListar_Click(ByVal sender As Object.GetFiles(ruta) sCarpetas = System.Text If ruta2.Message & "</b><p>") End Try End Sub Igualamos la ruta 2 con la caja de texto por que es donde vamos a poner la ruta de donde queremos la informacion de los directorios.IO.'>Listar archivos de directorios<h2>") sArchivos = System.Click Dim archivo.En caso de no existir la ruta especificada te manda un mensaje que no se puede encontrar la ruta de acceso.Comenzaremos a programar la caja de texto con el siguiente codigo: Protected Sub txtTexto_TextChanged(ByVal sender As Object.MapPath nos da la ruta dentro del servidor web y se la pasaremos como parametro a la ruta 2. sCarpetas() As String Dim carpetaInfo As DirectoryInfo Dim archivoInfo As FileInfo Try Response. ByVal e As EventArgs) Handles btnListar.Write("<p align=center style='fontfamily:verdana.IO.

ToString("#.Write("<td aling=center> Hora </td></tr>") If i > 0 Then Response.Length Response.ToShortDateString & "</td>") Response.Write("<tr><td colspan=4 align=center style='background-color:gray. color:white.Write("<td aling=right> Fecha</td>") Response. font-size:10pt.Write("<td aling=right> Tamaño</td>") Response.CreationTime.Write("<tr><td colspan=4 align=center style='background-color:gray.Write("<table align=center border=0 style='fontfamily:verdana.Length Response.GetFiles(carpeta) j = sArchivos.Write("<b>Directorio: " & ruta2 & carpetaInfo.#") & "Bytes</td>") Response.'>") Response.>") Response. color:white.Write("<td bgcolor=Gainsboro align=center>" & archivoInfo.Write("</td></tr>") For Each archivo In sArchivos archivoInfo = New FileInfo(archivo) Response.ToLongTimeString & "</td></tr>") Next For Each carpeta In sCarpetas carpetaInfo = New DirectoryInfo(carpeta) sArchivos = System. color:white.i = sArchivos.Name & " = <b>" & j & "archivos</b>") Else Response.Name & " = <b>" & j & "archivos</b>") End If Response.Name & "= <b>" & j & "archivos</b>") ElseIf ruta2.Write(" <b>Directorio: " & ruta2 & "/" & carpetaInfo. font-weight:bold.Write("<tr style='background-color:black.Name) Response.Name & "> " & "" & archivoInfo.Length.Write("<td bgcolor=Gainsboro align=center>" & archivoInfo.Write("<td bgcolor=Gainsboro> <a href=" & archivoInfo.Write("<b>Directorio " & ruta2 & " = <b>" & i & " archivos</b>") End If Response.Write("<tr>") Response.Write("<td>Nombre</td>") Response.Directory.Write("<td bgcolor=Gainsboro align=right>" & archivoInfo.'>") If ruta2 = "/" Then Response.CreationTime.Write("</td></tr>") i += j .Write("<b>Directorio: " & ruta2 & "/" & carpetaInfo.IO.'>") Response.StartsWith("C:\") Then Response.

CreationTime. color:red.Message & "</b></p>") End Try Response. Dim Dim Dim Dim archivo. Luego se crear el titulo que llevara la tabla donde se mandara a llamar por los array los archivos y carpetas del directorio y se contaran el numero de archivos que se encuentra en el directorio. Response.Write("</table>") Response.Write("</table>") Response.IO. font-size:10pt. el tercero nos sirve para extraer las propiedades de las carpetas.ToShortDateString & "</td>") Response.'>") Response. color:white.#") & "Bytes</td>") Response.GetFiles(carpeta) archivoInfo = New FileInfo(archivo) Response.Length. la primera nos sirve para el nombre de archivos y carpetas.Write("<tr bgcolor=Gainsboro align=rignt>" & archivoInfo.Write("<tr bgcolor=Gainsboro>" & archivoInfo.Write("<h2 align=center style='fontfamily:verdana.Write("<tr bgcolor=Gainsboro><td>/" & carpetaInfo.End() End Sub Como vemos en el empiezo de este código declaramos 4 variables.Write("</td></tr>") Response.Write("<tr bgcolor=Gainsboro>" & archivoInfo.ToString("#.Name & archivoInfo.GetFiles(ruta) sCarpetas = System. carpeta As String sArchivos().Name & "</td>") Response.GetDirectories(ruta) i = sArchivos. el segundo son array para el nombre de archivos y carpetas.Write("<tr><td colspan=4 align=center style='backgroundcolor:blue. su metodo Write envia resultados HTTP al navegar web cliente.CreationTime.Write("<b> Número total de archivos = " & i & "</b>") Response.IO.Directory. sCarpetas() As String carpetaInfo As archivoInfo As FileInfo El objeto Response permite interaccionar servidor con cliente.Directory.IO. y el cuarto nos sirve para extraer las propiedades de los archivos.Write("<p align=center style='font-family:verdana.For Each archivo In System.Length .'>" & "<b> ERROR: " & ex.'>Listar archivos de directorios<h2>") 'array con los nombres de archivo en el directorio actual sArchivos = System.Directory. Aqui lo utilizamos para ir enviando codigo HTML que va formateando una tabla cuyas celdas se iran rellenando con texto y resultados de la ejecucion de codigo VB.ToLongTimeString & "</td></tr>") Next Next Catch ex As Exception Response.

CreationTime.Write("</td></tr>") For Each archivo In sArchivos archivoInfo = New FileInfo(archivo) Response.#") & "Bytes</td>") Response. If i > 0 Then Response.Write("<td aling=center> Hora </td></tr>") Y en este codigo se lista los archivos que cuelgan directamente del directorio actual con una condicion de solo listar carpetas con un solo archivo.Write("<tr><td colspan=4 align=center style='background-color:gray. obtiene lista del directorio actual con los nombres de archivo de cada directorio y tambien cuenta los numeros de carpetas que se encuentran incluyendo las carpetas ocultas.Length. color:white.IO.Write("<td bgcolor=Gainsboro align=right>" & archivoInfo.Length Response.Write("<td bgcolor=Gainsboro align=center>" & archivoInfo.Write("<tr>") Response.'>") Response.CreationTime.Write("<td>Nombre</td>") Response.GetFiles(carpeta) j = sArchivos.Name) Response. color:white.Write("<table align=center border=0 style='font-family:verdana. Response. font-size:10pt.ToShortDateString & "</td>") Response.Name & "= <b>" & j & "archivos</b>") .En este codigo se creara la tabla y la cabecera donde cuyas celdas se iran rellenando con texto y resultados de la ejecucion de codigo VB.Write("<td bgcolor=Gainsboro> <a href=" & archivoInfo. j = sArchivos.Length Y en este codigo se lista las carpetas que cuelgan directamente del directorio y calcula el numero total de los archivos que hay en los directorios.Write("<b>Directorio: " & ruta2 & carpetaInfo. font-weight:bold.>") Response.Write("<tr style='background-color:black.'>") If ruta2 = "/" Then Response.Write("<tr><td colspan=4 align=center style='background-color:gray.Directory.Write("<td aling=right> Tamaño</td>") Response.ToLongTimeString & "</td></tr>") Next For Each carpeta In sCarpetas carpetaInfo = New DirectoryInfo(carpeta) sArchivos = System. color:white.ToString("#.'>") Response.Write("<td bgcolor=Gainsboro align=center>" & archivoInfo.Name & "> " & "" & archivoInfo.Write("<td aling=right> Fecha</td>") Response.Write("<b>Directorio " & ruta2 & " = <b>" & i & " archivos</b>") End If Response.

Write("</table>") Response.Write("<tr bgcolor=Gainsboro>" & archivoInfo.Name & archivoInfo.CreationTime.ToString("#.ToLongTimeString & "</td></tr>") Next Next Catch ex As Exception Response.Directory.'>" & "<b> ERROR: " & ex.Write("<b> Número total de archivos = " & i & "</b>") Response.'>") Response.Write("<tr><td colspan=4 align=center style='backgroundcolor:blue.StartsWith("C:\") Then Response. color:red.Write("<tr bgcolor=Gainsboro align=rignt>" & archivoInfo.Name & " = <b>" & j & "archivos</b>") End If Response. en la excepcion finañiza la tabla con el numero total de archivos listados.Write(" <b>Directorio: " & ruta2 & "/" & carpetaInfo.IO.Write("</td></tr>") Response.Name & "</td>") Response. font-size:10pt.Write("<p align=center style='font-family:verdana.Write("<b>Directorio: " & ruta2 & "/" & carpetaInfo.Length.Write("</table>") Response.ElseIf ruta2.GetFiles(carpeta) archivoInfo = New FileInfo(archivo) Response.Name & " = <b>" & j & "archivos</b>") Else Response. color:white.ToShortDateString & "</td>") Response.Write("</td></tr>") i += j En este cogigo vamos a obtener la lista de los archvos contenidos en los directorios de primer nivel.#") & "Bytes</td>") Response.Write("<tr bgcolor=Gainsboro><td>/" & carpetaInfo.End() End Sub Con esto finalizamos el codigo necesario para realizar esta aplicación para comprobar de como funciona vamos a jecutar el programa y en la caja de texto vamos a darle como ruta C:\ y damos clic en el boton y veremos los archivos y carpetas de este directorio en la siguiente imagen: .Write("<tr bgcolor=Gainsboro>" & archivoInfo.CreationTime.Message & "</b></p>") End Try Response. For Each archivo In System.

.

IO al igual que darle formato y color a las letras que se mostraran.Conclusión Podemos hacer un listado de archivos en una tabla para que se vea con mas estilo. . al igual de poder mostrar los detalles de cada uno de ellos como lo vemos en este reporte todo ellos con solo el espacio de nombre de System.