Foro de elhacker.net

Programación => Java => Mensaje iniciado por: cyberserver en 10 Mayo 2010, 23:52 pm



Título: RandomAccessFile Abrir un archivo bit a bit PARCHESITO
Publicado por: cyberserver en 10 Mayo 2010, 23:52 pm
Hola amigo, si ustedes son de los que han usado anteriormente la clase RandomAccessFile para poder abrir un archivo en forma de Bytes(8bits) y an intentado con la misma clase abrir el archivo pero en bits osea en 0 y 1 sin poder hacerlo aki esta el codiguin!!!!

Código:
import java.io.*;
import javax.swing.*;

public class Prueba1 {

    public static void main (String[] args)throws Exception {
     procedimiento objeto=new procedimiento();
     objeto.AbrirArchivo("byte.txt");
}
    
    
}
class procedimiento{
RandomAccessFile archivo;
String cerosunos="";
String cerosunosaux;
public void AbrirArchivo(String Archivo)throws Exception{
archivo=new RandomAccessFile(Archivo,"rw");
archivo.seek(0);
cerosunosaux=Integer.toBinaryString(archivo.readByte());

//Conpletar los 8 bits.
if(cerosunosaux.length()<8){
for(int x=cerosunosaux.length();x<8;x++){
cerosunos=cerosunos+"0";
}
cerosunos=cerosunos+cerosunosaux;
}

JOptionPane.showMessageDialog(null,"El contenido del archivo es " + cerosunos);
}
}

Pues espero que les aya servido :P! suerte a todos
NOTA: lo unico que modificarian seria archivo.seek(0); para poder ver el byte que necesiten


Título: Re: RandomAccessFile Abrir un archivo bit a bit PARCHESITO
Publicado por: cyberserver en 11 Mayo 2010, 05:15 am
Si a alguien le interesa  :huh: :huh: :huh: :huh: aki esta la nueva modificacion, te permite ver de una rango de Bytes

.- El Byte en el que se esta trabajando
.- La forma Binaria
.- La forma Decimal
.- La forma Ascii

Código:
import java.io.*;
import javax.swing.*;

public class Prueba1 {

    public static void main (String[] args)throws Exception {
     procedimiento objeto=new procedimiento();
     objeto.AbrirArchivo("perro.bmp");
}
}
class procedimiento{
RandomAccessFile archivo;
String cerosunos;
String cerosunosaux;
Byte Decimal;

public void AbrirArchivo(String Archivo)throws Exception{
archivo=new RandomAccessFile(Archivo,"rw");
for(int w=54;w<=60;w++){
cerosunos="";
cerosunosaux="";

archivo.seek(w);
Decimal=archivo.readByte();
cerosunosaux=Integer.toBinaryString(Decimal);

int i = Decimal;
   String aChar = new Character((char)i).toString();
  
//Conpletar los 8 bits.
if(cerosunosaux.length()<8){
for(int x=cerosunosaux.length();x<8;x++){
cerosunos=cerosunos+"0";
}
cerosunos=cerosunos+cerosunosaux;
}
JOptionPane.showMessageDialog(null,"El contenido del archivo en el byte: " + w + "\n binario: " + cerosunos + " \n Decimal: "+ Decimal + " \n Ascii: " + aChar);
}

}
}


Nota: lo unico que cambias son los limites w del for!!!

Con esto podras ver el contenido de cada byte de una imagen o documento...