Problema para identificacion de caracteres!
Hola quisiera ver si me pueden ayudar estoy desarrollando un programa en java que me genere esto:
al leer un archivo ejmeplo: archivo.txt con el contenido while()1234; quisiera que me lo mostrara al imprimir en pantalla asi:
while
(
)
1234
Y EL MIO LO HACE ASI
while
( ) <--------- Esto lo quiero en diferente linea...
12345
;
Mi codigo es el siguiente:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
import java.util.Vector;
import java.io.*;
public class final2 {
public static void main(String[] args) throws IOException {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Vector a1 = new Vector();
System.out.println("Dame el nombre del archivo a buscar:");
String dato = br.readLine();
FileReader fr = new FileReader(dato);
System.out.println("El archivo se a encontrado:\n");
int ultimoEstado = 0;
int c;
while ( (c = fr.read())!= -1) {
if(c == '\n')
continue;
if(Character.isDigit(c))
{
if(ultimoEstado == 1)
System.out.print((char)c);
else
System.out.print("\n"+(char)c);
ultimoEstado = 1;
}
else if (Character.isLetter(c))
{
if(ultimoEstado == 2)
System.out.print((char)c);
else
System.out.print("\n"+(char)c);
ultimoEstado = 2;
}
else
{
if(ultimoEstado == 3)
System.out.print((char)c);
else
System.out.print("\n"+(char)c);
ultimoEstado = 3;
}
}
} catch (FileNotFoundException e) {
System.out.println ("Erro el archivo no se encuentra");
}
catch (IOException ioe)
{
System.out.println("Error al leer del teclado");
}
}
}
espero sus respuestas grascias...
- Inicie sesión o regístrese para enviar comentarios
ultimoEstado
En la condición de ultimoEstado==3 tienes que hacer una de dos cosas: Imprimir siempre cambio de linea antes del caracter, o cambiar el ultimoEstado a 0.