Site hosted by Angelfire.com: Build your free website today!

import java.io.*;

class pro44

{

static FileOutputStream fos; //nombre del flujo para hacer referencia al archivo

public static final int longLinea =81; //declaracion de una constante valor 81

public static void main(String []args) throws IOException

{

byte tfno[]=new byte[longLinea]; //declaracion de un arreglo de tipo byte de 81 posiciones

int i=0;

byte nombre[]=new byte[longLinea];//declaracion de un arreglo de tipo byte de 81 posiciones

fos=new FileOutputStream("c:\\telefono.txt"); //nombre del flujo para hacer referencia al archivo telefono.dat

while(true)

{

System.err.println("Teclee un nombre ('Fin' termina) ");

leeLinea(nombre); //funcion que asigna lo introducido por el teclado a un arreglo

if("fin".equalsIgnoreCase(new String(nombre,0,0,3)))

break; //si se tecleo "fin" entonces rompe el ciclo

System.err.println("Teclee el numero de telefono: ");

leeLinea(tfno);//funcion que asigna lo introducido por el teclado a un arreglo

for(i=0;tfno[i]!=0;i++)

fos.write(tfno[i]);//escribe en el archivo caracter por caractervlo contenido

fos.write(','); //en el arreglo tfno y despues escribe una ',' dentro del archivo

for(i=0;nombre[i]!=0;i++)

fos.write(nombre[i]);//escribe en el archivo caracter por caractervlo contenido

fos.write('\n'); //en el arreglo nombre y despues escribe una '\n' dentro del archivo

}

fos.close(); //cierra el archivo

}

private static void leeLinea(byte linea[]) throws IOException

{

int b=0;

int i=0;

while((i<(longLinea-1))&&((b=System.in.read())!='\n'))//mientras sea diferente de '\n' o el tamaño del arreglo no

linea[i++]=(byte)b; //exceda de 80 va asiganar al arreglo linea[i] lo contenido en b

linea[i]=(byte)0; //al encontrar el fin se le asigna un cero linea para manejarlo como

} //condiccion de para en los for contenidos en el main

}