CLR: .Net / Mono / Boo / Otros CLR > VB .NET
Leer Ficheros
(1/1)
egalan:
Hola necesito leer diversos ficheros de un mismo directorio y copiar el texto de los ficheros en uno solo, ademas necesito que cada fichero se me convierta en una unica linea, asi al final tendre tantas lineas como ficheros tiene el directorio
Estoy usando streams pero no lo consigo. Alguna sugerencia
Gracia
luism3:
hay un comando llamado Dir que te podria ayudar... pero en .NET hay una forma todavia mas facil sin usar streams, en un rato te digo como es, esque ya debo retirarme.
senzao18:
Si mal no recuerdo es algo asi...
--- Código: Text --- Dim oDirectoryInfo As New DirectoryInfo("rutacarpeta") If oDirectoryInfo.Exists Then Dim oFileInfo() As FileInfo oFileInfo = oDirectoryInfo.GetFiles() For Each oFileI As FileInfo In oFileInfo Dim strLine As String Dim oFile As New StreamReader(oFileI.FullName) strLine = oFile.ReadToEnd ofile.close() Dim oStream As New StreamWriter("RutaArchivoNuevo", True) oStream.WriteLine(strLine) oStream.Close() Next ENDIF.
Y listo tienes el archivo nuevo como lo quieres :D.
luism3:
Disculpa la tardanza, este codigo se encarga de hacer un recorrido recursivo de todos los archivos dentro de un directorio que se le envia por parametro.
--- Código: Text --- Private Sub ExploraDir(ByVal dir As String) If dir = "" Then MsgBox("No ha seleccionado una carpeta", MsgBoxStyle.Exclamation) Return End If ReadFiles(dir) For Each str As String In System.IO.Directory.GetDirectories(dir) ExploraDir(str) Next End Sub Private Sub ReadFiles(ByVal str As String) For Each SubFile As String In System.IO.Directory.GetFiles(str) ListBox1.Items.Add(SubFile) Next End Sub
Lo que muestra es la lista de todos los archivos pero igual, si quieres ver en la lista tambien los directorios debes colocar un ListBox1.Items.Add(str) justo arriba del llamado recursivo a la funcion ExploraDir()
Espero te sirva.
Navegación
Ir a la versión completa