EDIT
From this SO question I've got how to read an input stream into a byte array.
Here's the revised program.
import java.io.*;
import java.net.*;
public class ReadBytes {
public static void main( String [] args ) throws IOException {
URL url = new URL("http://sstatic.net/so/img/logo.png");
// Read the image ...
InputStream inputStream = url.openStream();
ByteArrayOutputStream output = new ByteArrayOutputStream();
byte [] buffer = new byte[ 1024 ];
int n = 0;
while (-1 != (n = inputStream.read(buffer))) {
output.write(buffer, 0, n);
}
inputStream.close();
// Here's the content of the image...
byte [] data = output.toByteArray();
// Write it to a file just to compare...
OutputStream out = new FileOutputStream("data.png");
out.write( data );
out.close();
// Print it to stdout
for( byte b : data ) {
System.out.printf("0x%x ", b);
}
}
}
This may work for very small images. For larger ones, ask/search about "read input stream into byte array"
Now the code I posted works for larger images too.