6
« en: 08 de Noviembre 2015, 00:28 »
Lo hice de esta manera, tengo mis dudas con los arrays...
package examen4;
import java.util.Scanner;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.EOFException;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class crear {
private static Scanner teclado;
public static void main(String[] args) {
teclado tc = new Scanner(System.in);
FileOutputStream fos = null;
DataOutputStream salida = null;
int n;
short s; //serial (2bytes)
char f; //filename (2bytes)
byte t; //# campos custom (1byte)
byte c;
byte i; //contador FOR
char x; //nombre de dato nro
int d; // fecha actual sistema
byte r; //cantidad de registros
int v[]; //VECTOR numero
char b[]; //vector letras
int Camp; //contador de campos completados
int k;
try {
fos = new FileOutputStream("C:/Dev-Pas/EXAMEN444.dat");
salida = new DataOutputStream(fos);
System.out.print("Introduce número Serie:"); //serial
s = tc.nextShort();
System.out.print("Ingrese Nombre Archivo:"); //path
f = tc.nextChar();
//CALCULAR FECHA ACA //fecha
salida.writeInt(d);
System.out.print("Ingrese Cantidad de Campos Customizados:"); //campos custom
t = tc.nextByte();
v = new int[t+1]; //aca esta el vector 0,1,2,3,...,t+1
b = new char[t+1];
for(i=1; i<t+1; i++) //codigo 1,2,3,4
{
v[t]=i; // Campo[tal].suNumero
salida.writeByte(t);
System.out.print("Ingrese Nombre de dato numero"+t); //nombre,tel,dir,email
tc.nextChar(); // escribir el vector[i] nombrecampo
salida.writeChar(b[i]);
}
System.out.print("Ingrese la cantidad de registros:"); //cantidad de registros
r = tc.nextByte();
salida.writeByte(r);
System.out.print("Ingrese los"+r+"contactos"); //datos contactos concretos
for(i=1; i<=r; i++) //desde el primer contacto hasta el ultimo
{
for (k=1; k<=t; k++) //desde el primer campo customizado hasta el ultimo
{
System.out.print("Ingrese"+b[k]);
tc.nextChar(b[k]);
if b.length <>0
{
Camp=(Camp+1);
}
}
}
salida.writeInt(Camp);
for (c=1; c<=t; c++) //cant campos custpm
{
v[c]=c;
if Length(b[c]) <> 0
{
salida.write(v[c]);
salida.write(b[c]);
}
}
Camp=0; //FIN
} catch (FileNotFoundException e) {
System.out.println(e.getMessage());
} catch (IOException e) {
System.out.println(e.getMessage());
} finally {
try {
if (fos != null) {
fos.close();
}
if (salida != null) {
salida.close();
}
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}
}
}