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 de Ejemplo
public class Main
{
public static void main(String[] args)
{
java.io.FileInputStream myFile;
java.io.FileOutputStream myNewFile;
String nameFile;
int BUFFER_SIZE;
int amountRead;
int count = 1;
if (args.length == 2)
{
nameFile = args[0];
BUFFER_SIZE = Integer.parseInt(args[1]);
byte[] data = new byte[BUFFER_SIZE];
try
{
myFile = File.OpenRead(nameFile);
do
{
amountRead = myFile.read(data, 0, BUFFER_SIZE);
myNewFile = File.Create(nameFile + (new Integer(count)).toString("000"));
myNewFile.write(data, 0, amountRead);
count++;
myNewFile.close();
} while (amountRead == BUFFER_SIZE);
myFile.close();
}
catch (RuntimeException fileError)
{
System.out.println("ERROR has ocurred while executing: " + fileError.getMessage());
}
}
else
{
System.out.println("The parameters are incorrects");
System.out.println("usage: splitfile namefile sizeinbytes");
}
}
}