Ejercicio
Divisor de archivos
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