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
}