Tengo que diseñar un algoritmo para ir recuperando unas cadenas de caracteres de un archivo pedido por el usuario. Un ejemplo del archivo sería:
char nombreVariable;
el codigo que yo tengo lo que hace es que va recorriendo el archivo caracter por caracter y si se encuentra un espacio en blanco o un signo de coma ', ' o de punto y coma ';',quiere decir que ha encontrado una cadena. En el ejemplo que puse las cadenas serian
char, nombreVariable y tambien el ;
Pero para el algoritmo que tengo solo obtiene las cadenas char y nombreVariable. El punto y coma no lo puede imprimir, y no se como cambiar el algoritmo que tengo:
este es el primer ciclo que me tiene que leer caracter por caracter hasta el final de archivo:
Código
while((car = af.read()) != -1)
{
componenteLexico = Clase.leerArchivo(nombreArchivo,af);
}
y este es en el que me concatena los caracteres hasta que se encuentra con el caracter ' ' o ';'.
Código
{
int car;
char c;
long posicion;
StringBuilder sb = new StringBuilder();
try
{
posicion = r.getFilePointer();
r.seek(posicion-1);
while((car = r.read()) != -1 && car != ' ')
{
if(!esSignoPuntuacion(car))
{
c = (char)car;
sb.append(c);
}
}
cadena = sb.toString();
}
{
}
return cadena;
}
public static boolean esSignoPuntuacion(int car)
{
if(car == ',' || car == ';' || car == '.')
return true;
else
return false;
}
gracias


 
  




 Autor
 Autor
		


 En línea
									En línea
								



 
						 
						 
						