import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class GenerarArchivoBinario {
  public static void main(String [] args) {
   if (args.length >0) { //se indica al archivo
    try {
     String ruta = args[0];
     DataOutputStream elArchivo = new DataOutputStream(
         new FileOutputStream(ruta));       
     char [] arreglo = new char[32];
     String laCadena;
     for  (int i=100;i>=1;i--) { //generar 100 registros
         elArchivo.writeInt(i); //escribir campo llave
         for (int j=0;j<arreglo.length;j++) {
            arreglo[j] = (char) ('A' + (char)(28*Math.random()) );//generar caracter entre 'A' y 'Z'
         }
         laCadena = new String(arreglo);
         elArchivo.writeUTF(laCadena);//escribir campo texto
     }
     elArchivo.close();
    } catch (FileNotFoundException ex) {
      System.err.println(ex.getMessage());
    } catch (IOException ex) {
      System.err.println(ex.getMessage());
    }
   } else System.err.println("Se requiere ruta y nombre archivo");
  }
}