Divisor de archivos Curso de Programación Visual Basic

Lección:

Administración de Archivos


Ejercicio:

Divisor de archivos 22


Objetivo:

Cree un programa para dividir un archivo (de cualquier tipo) en pedazos de cierto tamaño. ir debe recibir el nombre del archivo y el tamaño como parámetros. Por ejemplo, se puede usar escribiendo:

dividir myFile.exe 2000

Si el archivo "myFile.exe" tiene una longitud de 4500 bytes, ese comando produciría un archivo llamado "myFile.exe.001" de 2000 bytes de largo, otro llamado "myFile.exe.002" de 2000 bytes de largo y otro llamado "myFile.exe.003" de 500 bytes de largo.


Código:

Imports System
Imports System.IO
Public Class splitFile
    Public Shared Sub Main(ByVal args As String())
        Dim myFile As FileStream
        Dim myNewFile As FileStream
        Dim nameFile As String
        Dim BUFFER_SIZE As Integer
        Dim amountRead As Integer
        Dim count As Integer = 1

        If args.Length = 2 Then
            nameFile = args(0)
            BUFFER_SIZE = Convert.ToInt32(args(1))
            Dim data As Byte() = New Byte(BUFFER_SIZE - 1) {}

            Try
                myFile = File.OpenRead(nameFile)

                Do
                    amountRead = myFile.Read(data, 0, BUFFER_SIZE)
                    myNewFile = File.Create(nameFile & count.ToString("000"))
                    myNewFile.Write(data, 0, amountRead)
                    count += 1
                    myNewFile.Close()
                Loop While amountRead = BUFFER_SIZE

                myFile.Close()
            Catch fileError As Exception
                Console.WriteLine("ERROR has ocurred while executing: " & fileError.Message)
            End Try
        Else
            Console.WriteLine("The parameters are incorrects")
            Console.WriteLine("usage: splitfile namefile sizeinbytes")
        End If
    End Sub
End Class