elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Validar un archivo txt que solo contenga 1 y 0,para dibujar una img?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Validar un archivo txt que solo contenga 1 y 0,para dibujar una img?  (Leído 3,090 veces)
hack-4-life

Desconectado Desconectado

Mensajes: 52



Ver Perfil WWW
Validar un archivo txt que solo contenga 1 y 0,para dibujar una img?
« 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:
Código
  1.  
  2.   import java.text.*;
  3.   import java.util.*;
  4.   import java.awt.*;
  5.   import java.awt.event.*;
  6.   import java.io.*;
  7.   import java.util.StringTokenizer;
  8.   import javax.swing.*;
  9.   import javax.swing.JFileChooser;
  10.  
  11.  
  12. // Clase
  13.    class dibujo extends Frame  {
  14.      static String cad=" ";
  15.      public static String dir="";
  16.  
  17.   // Función de control de la aplicación
  18.       public static void main( String[] gll ) throws IOException{
  19.  
  20.  
  21.  
  22.         try{
  23.  
  24.  
  25.            dir= JOptionPane.showInputDialog(null,"Escribe solo el nombre del archivo a ejecutar"+" ","micky.isc");
  26.  
  27.            int a=dir.length(),b=a-4;
  28.            String sub=dir.substring(b,dir.length()),sub2=".isc";
  29.            System.out.println(sub);
  30.  
  31.            if (sub.equals(sub2)){
  32.                  //compara imagen        
  33.               FileReader ab = new FileReader(dir);
  34.               BufferedReader cd = new BufferedReader(ab);
  35.  
  36.               int numlineas = 0,total=0;
  37.               String Cadena="";
  38.  
  39.               while ((Cadena = cd.readLine())!=null) {
  40.                  numlineas++;  
  41.                  cad += Cadena+"\n";
  42.  
  43. aqui en el while no se si desde aqui lovalido ya que me lee el archivo txt...
  44.               }
  45.  
  46.            }
  47.            else
  48.            {
  49.               JOptionPane.showMessageDialog(null, "Formato no Reconocido","Error",JOptionPane.ERROR_MESSAGE);
  50.               System.exit(0);
  51.            }
  52.  
  53.         }
  54.             catch (FileNotFoundException e){
  55.               e.printStackTrace();
  56.            }
  57.             catch (IOException d){
  58.               d.printStackTrace();
  59.            }
  60.  
  61.         new dibujo();
  62.      }
  63.  
  64.       public dibujo() {
  65.  
  66.         this.setTitle( "Dibujo" );
  67.         this.setSize( 350,350 );
  68.  
  69.         this.setVisible( true );
  70.  
  71.  
  72.  
  73.         this.addWindowListener(
  74.                new WindowAdapter() {
  75.                   public void windowClosing( WindowEvent evt ) {
  76.                     System.exit( 0 );
  77.                  }
  78.               } );
  79.      }
  80.  
  81.  
  82.       public void paint(Graphics g){
  83.  
  84.         g.translate( this.getInsets().left,this.getInsets().top );
  85.  
  86.         byte[] sep = cad.getBytes();
  87.         String acep="falso";
  88.  
  89.         System.out.println ("hacker    " +sep[2]);
  90.  
  91.  
  92.         if (cad.length() >= 1000){
  93.  
  94.            int x=0,y=0;
  95.            for(int i=0; i<sep.length; i++){
  96.  
  97.  
  98.  
  99.               if (sep[i] == 48 || sep[i] == 49  || sep[i]==10  ||sep[i]==255 )
  100.               {
  101.  
  102.                  if (sep[i]==48){
  103.                     g.setColor(Color.white);
  104.                     g.fillRect( x+70,y+50,1,1);
  105.                     x=x+1;
  106.                  }
  107.  
  108.                  if (sep[i] == 49){
  109.  
  110.                     g.setColor(Color.black);
  111.                     g.fillRect( x+70,y+50,1,1 );
  112.                     x=x+1;
  113.                  }
  114.  
  115.  
  116.  
  117.  
  118.                  if (sep[i]== 10){
  119.                     y=y+1;
  120.                     x=0;
  121.                  }
  122.  
  123.  
  124.               }////
  125.               else{  
  126.      /////////////////////
  127. aqui esta mi duda le digo que si existe cualquier digito o caracter de 48=1 y 49=0
  128. me mande error pero no entra en el ciclo mi pregunta es por que!            
  129.                  if (!(sep[i]==48)&&!(sep[i] == 49)){
  130.                  System.out.println("eror"+sep[i]);
  131.                  }
  132.  
  133.  
  134.  
  135.                  System.out.println("error");
  136.               }
  137.  
  138.  
  139.  
  140.            }  
  141.  
  142.         }
  143.         else
  144.         {
  145.            JOptionPane.showMessageDialog(null,"Tu Imagen no es la Correcta","Mensage",JOptionPane.INFORMATION_MESSAGE);
  146.            System.exit(0);
  147.  
  148.         }
  149.      }
  150.   }
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  

bueno espero me haya dado entender,espero me puedan ayudar...saludos...


En línea

""DE QUE SIRVE EL CONOCIMIENTO SI SE PRIVA DE SU DISTRIBUCION"
Valkyr


Desconectado Desconectado

Mensajes: 646


Divide y vencerás


Ver Perfil
Re: Validar un archivo txt que solo contenga 1 y 0,para dibujar una img?
« Respuesta #1 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.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿hay alguna web que contenga las APIS de windows para delphi? « 1 2 »
Programación General
AlxSpy 12 9,069 Último mensaje 11 Julio 2011, 13:16 pm
por d(-_-)b
Dibujar la onda de un archivo .wav en c.
Programación C/C++
Markitukas 0 2,700 Último mensaje 1 Octubre 2011, 04:35 am
por Markitukas
como validar jtxtbox para que acepte solo números!
Java
washington8277 7 7,141 Último mensaje 29 Octubre 2012, 15:33 pm
por ChavalChavito
Error al validar archivo .php
PHP
Danyel_Casvill 5 2,522 Último mensaje 24 Junio 2014, 05:25 am
por engel lex
Validar solo números en un INT en C++
Programación C/C++
RGT 1 6,637 Último mensaje 5 Noviembre 2015, 12:31 pm
por class_OpenGL
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines