none
Unir Archivos txt en uno solo RRS feed

  • Pregunta

  • Buenas, paso a comentarles mi inquietud...

    Tengo en una carpeta N archivos .txt (sin lineas en blanco), y quiero que el contenido de ellos se copie uno debajo de otro (sin lineas en blanco) en un archivo .txt de salida.

    Agradezco su tiempo! saludos!

    viernes, 23 de noviembre de 2012 21:44

Respuestas

  • Descontando que todos tienen el mismo encoding,

    Imports System.IO
    
    Module Module1
    
        Sub Main()
            Dim sw As New StreamWriter("c:\ruta\pega.txt")
    
            For Each fi As FileInfo In FileIO.FileSystem.GetDirectoryInfo("c:\carpeta").EnumerateFiles("*.txt")
                sw.Write(File.ReadAllText(fi.FullName))
            Next
    
            sw.Close()
    
        End Sub
    
    End Module


    sábado, 24 de noviembre de 2012 2:12
  • hola

    Private Sub cmdMerge_Click(sender As Object, e As EventArgs)
    
    	Dim sFile1 As String = txtFile1.Text
    	Dim sFile2 As String = txtFile2.Text
    	Dim fs1 As FileStream = Nothing
    	Dim fs2 As FileStream = Nothing
    
    	Try
    
    
    		fs1 = File.Open(sFile1, FileMode.Append)
    		fs2 = File.Open(sFile2, FileMode.Open)
    		Dim fs2Content As Byte() = New Byte(fs2.Length)
    		fs2.Read(fs2Content, 0, CInt(fs2.Length))
    		fs1.Write(fs2Content, 0, CInt(fs2.Length))
    
    		MessageBox.Show("Done!")
    
    	Catch ex As Exception
    		MessageBox.Show(ex.Message + " : " + ex.StackTrace)
    	Finally
    		fs1.Close()
    		fs2.Close()
    	End Try
    End Sub

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 23 de noviembre de 2012 23:13

Todas las respuestas

  • A mi forma de ver. simplemente recorrerias cada archivo en la carpeta, antes de esto tendaras que haber declarado un archivo universal por asi decirlo, en el que a media que vas recorriendo y abriendo los archivos de la carpeta iras escribiendo la informacion.

    Recuerda que para ello las clases a utlizar son : system.io

    y de etsas los tipos textreader y textwriter. el primero para leer el segundo para escribir.

    viernes, 23 de noviembre de 2012 21:57
  • hola

    Private Sub cmdMerge_Click(sender As Object, e As EventArgs)
    
    	Dim sFile1 As String = txtFile1.Text
    	Dim sFile2 As String = txtFile2.Text
    	Dim fs1 As FileStream = Nothing
    	Dim fs2 As FileStream = Nothing
    
    	Try
    
    
    		fs1 = File.Open(sFile1, FileMode.Append)
    		fs2 = File.Open(sFile2, FileMode.Open)
    		Dim fs2Content As Byte() = New Byte(fs2.Length)
    		fs2.Read(fs2Content, 0, CInt(fs2.Length))
    		fs1.Write(fs2Content, 0, CInt(fs2.Length))
    
    		MessageBox.Show("Done!")
    
    	Catch ex As Exception
    		MessageBox.Show(ex.Message + " : " + ex.StackTrace)
    	Finally
    		fs1.Close()
    		fs2.Close()
    	End Try
    End Sub

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 23 de noviembre de 2012 23:13
  • Descontando que todos tienen el mismo encoding,

    Imports System.IO
    
    Module Module1
    
        Sub Main()
            Dim sw As New StreamWriter("c:\ruta\pega.txt")
    
            For Each fi As FileInfo In FileIO.FileSystem.GetDirectoryInfo("c:\carpeta").EnumerateFiles("*.txt")
                sw.Write(File.ReadAllText(fi.FullName))
            Next
    
            sw.Close()
    
        End Sub
    
    End Module


    sábado, 24 de noviembre de 2012 2:12
  • Perfecto, era lo que buscaba! gracias gente!!

    domingo, 23 de diciembre de 2012 23:26