Título: Validar un archivo txt que solo contenga 1 y 0,para dibujar una img?
Publicado por: hack-4-life en 12 Septiembre 2011, 16:33 pm
Hola,saludos XDs! Bueno estoy tratando de solucionar esto,se trata de poder validar un archivo de texto que contiene 1 y 0 que conforman una imagen,donde de un programa java lo mando a llamar y me pinta la imagen en un jpanel,ahora lo que yo quiero hacer es poder validarlo que si esta en el archivo 0111*+´/ cualquier otro simbolo me marque error para esto trate de hacer lo siguiente: import java.text.*; import java.util.*; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.StringTokenizer; import javax.swing.*; import javax.swing.JFileChooser; // Clase class dibujo extends Frame { // Función de control de la aplicación try{ dir = JOptionPane. showInputDialog(null, "Escribe solo el nombre del archivo a ejecutar"+" ", "micky.isc"); int a=dir.length(),b=a-4; String sub =dir. substring(b,dir. length()),sub2 =".isc"; if (sub.equals(sub2)){ //compara imagen int numlineas = 0,total=0; while ((Cadena = cd.readLine())!=null) { numlineas++; cad += Cadena+"\n"; aqui en el while no se si desde aqui lovalido ya que me lee el archivo txt... } } else { } } e.printStackTrace(); } d.printStackTrace(); } new dibujo(); } public dibujo() { this.setTitle( "Dibujo" ); this.setSize( 350,350 ); this.setVisible( true ); this.addWindowListener( } } ); } g.translate( this.getInsets().left,this.getInsets().top ); byte[] sep = cad.getBytes(); System. out. println ("hacker " +sep [2]); if (cad.length() >= 1000){ int x=0,y=0; for(int i=0; i<sep.length; i++){ if (sep[i] == 48 || sep[i] == 49 || sep[i]==10 ||sep[i]==255 ) { if (sep[i]==48){ g.fillRect( x+70,y+50,1,1); x=x+1; } if (sep[i] == 49){ g.fillRect( x+70,y+50,1,1 ); x=x+1; } if (sep[i]== 10){ y=y+1; x=0; } }//// else{ ///////////////////// aqui esta mi duda le digo que si existe cualquier digito o caracter de 48=1 y 49=0 me mande error pero no entra en el ciclo mi pregunta es por que! if (!(sep[i]==48)&&!(sep[i] == 49)){ System. out. println("eror"+sep [i ]); } } } } else { } } }
bueno espero me haya dado entender,espero me puedan ayudar...saludos...
Título: Re: Validar un archivo txt que solo contenga 1 y 0,para dibujar una img?
Publicado por: Valkyr en 23 Septiembre 2011, 13:58 pm
Sí dices que lo lees de un fichero de texto y que solo quieres que contenga 01*+´/ puedes hacerlo con expresiones regulares. Tan solo deberías leer el fichero, meterlo en un StringBuffer por ejemplo, y luego con la propia clase haces toString().matches("[^01*+´/]") sobre el StringBuffer y sí devuelve true es porque hay algún otro símbolo, si devuelve false es porque todo el fichero leido son los caracteres leídos.
Sí te interesa también puedes hacerlo con las clases Pattern y Matcher.
Saludos.
|