Re: How: convert byte[] to hex encoded string
gauravs_mailbox@yahoo.com wrote:
Hi All,
I want to covert the byte to hex encoded string.
Any pointers how to do that , would be really appreciated.
Regards,
Gaurav
Another thought:
static void loadFile (JFrameFileLoader jfl, File f)
{
JTextArea jta = jfl.getTextArea();
if (f != null)
{
jfl.setFilename( f.getName () );
jta.setText ( "" );
FileChannel fc;
try
{
fc = new FileInputStream (f).getChannel();
} catch (FileNotFoundException ex)
{
jta.setText ("File not found.");
return;
}
MappedByteBuffer mmf;
try
{
mmf = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size());
} catch (IOException ex)
{
jta.setText ("Error opening file.");
return;
}
try
{
for (long i=0; i < fc.size(); i+=16)
{
jta.append ( myToHexString(i,8) );
jta.append ( ": " );
long lastBytes = fc.size () - i;
for (long j=0; j < 16 && j < lastBytes; j++)
{
jta.append ( " " );
jta.append( myToHexString(mmf.get (),2) );
}
jta.append ( "\n" );
}
} catch (IOException ex)
{
jta.setText ("Error reading file.");
return;
}
}
}
static String myToHexString ( long n, int c )
{
String h= Long.toHexString ( n );
while( h.length () < c)
{
h = "0" + h;
}
return h;
}
static String myToHexString( byte n, int c )
{
int temp = n;
String h = Integer.toHexString ( 0xFF & temp);
while(h.length ()<c)
h = "0"+h;
return h;
}