Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Leer BMP en java

Estas en el tema de Leer BMP en java en el foro de Java en Foros del Web. Tengo el siguiente código que lee un bmp byte a byte en java y que lo muestre en hexadecimal, pero los negativos me los muestra ...
  #1 (permalink)  
Antiguo 25/06/2013, 05:31
 
Fecha de Ingreso: junio-2009
Mensajes: 30
Antigüedad: 15 años, 6 meses
Puntos: 0
Leer BMP en java

Tengo el siguiente código que lee un bmp byte a byte en java y que lo muestre en hexadecimal, pero los negativos me los muestra mal. ¿Como puedo hacer para que se muestre bien?, por ejemplo el tercer byte debería ser F2 y muestra
ffffff2.

Código:
package leerbmp;

import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.EOFException;
import java.io.FileInputStream;
import java.io.IOException;

public class LeerBmp {
	
	public static void main(String[] args) {
		int contador=0;
		try{
			FileInputStream archivo = new FileInputStream("prueba.bmp");
			BufferedInputStream buff = new BufferedInputStream(archivo);
			DataInputStream datos = new DataInputStream(buff);
			try{
				while (true){
					int in = datos.readByte();
					System.out.printf("%d - %h - %d \n",contador++, in,in);
					
				}
			}catch(EOFException eof){
					buff.close();
				}
			}catch(IOException e){
				System.out.println("Error  " + e.toString());
			}
		}

	}
Lo que muestra:
Contador - Hexadecimal - Decimal
0 - 42 - 66
1 - 4d - 77
2 - fffffff2 - -14
3 - 6 - 6
4 - 0 - 0
5 - 0 - 0
Saludos y gracias.
  #2 (permalink)  
Antiguo 25/06/2013, 09:41
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Leer BMP en java

Código Java:
Ver original
  1. import java.io.BufferedInputStream;
  2. import java.io.DataInputStream;
  3. import java.io.EOFException;
  4. import java.io.FileInputStream;
  5. import java.io.IOException;
  6.  
  7. public class Main {
  8.  
  9.     public static void main(String[] args) {
  10.         int contador=0;
  11.         try{
  12.             FileInputStream archivo = new FileInputStream("prueba.bmp");
  13.             BufferedInputStream buff = new BufferedInputStream(archivo);
  14.             DataInputStream datos = new DataInputStream(buff);
  15.             try{
  16.                 while (true){
  17.                     byte in = datos.readByte();
  18.                     System.out.printf("%d - %02X - %03d \n", contador++, in, in & 0xFF);
  19.  
  20.                 }
  21.             }catch(EOFException eof){
  22.                     buff.close();
  23.                 }
  24.             }catch(IOException e){
  25.                 System.out.println("Error  " + e.toString());
  26.             }
  27.         }
  28.  
  29.     }
  #3 (permalink)  
Antiguo 25/06/2013, 10:02
 
Fecha de Ingreso: junio-2009
Mensajes: 30
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Leer BMP en java

Mil Gracias, solucionado....

Etiquetas: bmp
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:55.