Getting bytes[] from inputstream in android gives null value [duplicate] - android

This question already has answers here:
Convert InputStream to byte array in Java
(34 answers)
Closed 5 years ago.
Trying to get bytes data from inputstream as shown in the below code. But, the bytes variable is null. What might be the reason? FYI- Image is available in the given uri, as i can see the image in imageView1. (Testing on Lollipop).
final InputStream imageStream = getContentResolver().openInputStream(imageUri);
var_Bitmap = BitmapFactory.decodeStream(imageStream);
ImageView imageView1 = (ImageView) findViewById(R.id.ui_imageView_browse);
imageView1.setImageBitmap(var_Bitmap);
byte[] bytes = IOUtils.toByteArray(imageStream);
OutputStream out;
String root = Environment.getExternalStorageDirectory().getAbsolutePath()+"/";
File createDir = new File(root+"master"+File.separator);
createDir.mkdir();
File file = new File(root + "master" + File.separator +"master.jpg");
path=root+"master"+File.separator+"master.jpg";
file.createNewFile();
out = new FileOutputStream(file);
out.write(bytes);
out.close();

As pskink suggested in a comment, the issue was that the input stream has been read to the EOF by decodeStream, so there is nothing more to read.
To solve the problem, I created a temporary variable for inputstream.

Try this :
public byte[] getBytes(InputStream inputStream) throws IOException {
ByteArrayOutputStream byteBuffer = new ByteArrayOutputStream();
int bufferSize = 1024;
byte[] buffer = new byte[bufferSize];
int len = 0;
while ((len = inputStream.read(buffer)) != -1) {
byteBuffer.write(buffer, 0, len);
}
return byteBuffer.toByteArray();
}
Hope it helps.

Related

How to write zero byte to file in Android?

I am creating an app that helps user to hide secret files like text file or photos. If user is going to delete the secret files, I want to make sure the files deleted is unrecoverable. I am trying to write zero byte or zero write the file before deleting. The problem is it doesn't zero write the file, it doesn't do anything. This is what I currently have.
public void zeroWriteDelete(File file) throws IOException{
FileInputStream fileInputStream = new FileInputStream(file);
FileOutputStream fileOutputStream1 = new FileOutputStream(file);
byte[] buffer = new byte[4 * 1024];
int read;
while((read = fileInputStream.read(buffer)) > 0){
Arrays.fill(buffer, (byte)0);
fileOutputStream1.write(buffer, 0, read);
}
fileOutputStream1.flush();
fileOutputStream1.close();
fileInputStream.close();
}
So, how do I zero write or overwrite the file with zero byte or data ? Or maybe other ways to make sure the deleted file is unrecoverable ?
You don't need to read from the file, or zero the buffer:
public void zeroWriteDelete(File file) throws IOException{
long length = file.length();
RandomAccessFile raf = new RandomAccessFile(file, "rw");
byte[] buffer = new byte[4 * 1024];
for (long i = 0; i < length; i += buffer.length) {
raf.write(buffer, 0, (int)Math.min(buffer.length, length-i));
}
raf.close();
file.delete(); // you forgot this rather vital part
}
E&OE

I want to convert a bitmap image to byte array format in android. is it possible?

I want to convert and Image to Byte. The exact format that i want is shared below.
public static byte[] ImageByte = new byte[] { (byte)0x1b,(byte)0x42,(byte)0x47,(byte)0x00,(byte)0x68,(byte)0x47,(byte)0x00,(byte)0x68,(byte)0x47,(byte)0x00,(byte)0x68,(byte)0x47,(byte)0x00,(byte)0x68,(byte)0x47,(byte)0x00,(byte)0x68,(byte)0x47,(byte)0x00,(byte)0x33
,(byte)0x07,(byte)0x01,(byte)0x00,(byte)0x34,(byte)0x47,(byte)0x00,(byte)0x32,(byte)0x01,(byte)0x01,(byte)0xfe,(byte)0x01,(byte)0x00,(byte)0x34,(byte)0x47,(byte)0x00,(byte)0x32,(byte)0x07,(byte)0x01,(byte)0xf0,(byte)0x01
,(byte)0x30,(byte)0x01,(byte)0x10,(byte)0x01,(byte)0x00,(byte)0x32,(byte)0x47,(byte)0x00,(byte)0x32,(byte)0x3f,(byte)0x01,(byte)0x80,(byte)0x01,(byte)0x38,(byte)0x01,(byte)0x1e,(byte)0x01,(byte)0x00,(byte)0x32,(byte)0x47
,(byte)0x00,(byte)0x32,(byte)0x7e,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0x1c,(byte)0x01,(byte)0x0f,(byte)0x01,(byte)0x80,(byte)0x01,(byte)0x00,(byte)0x31,(byte)0x47,(byte)0x00,(byte)0x32,(byte)0xf8,(byte)0x01,(byte)0x00
,(byte)0x01,(byte)0x1e,(byte)0x01,(byte)0x03,(byte)0x01,(byte)0xc0,(byte)0x01,(byte)0x00,(byte)0x31,(byte)0x47,(byte)0x00,(byte)0x31,(byte)0x03,(byte)0x01,(byte)0xf8,(byte)0x01,(byte)0x06,(byte)0x01,(byte)0x7e,(byte)0x01
,(byte)0x03,(byte)0x01,(byte)0xe0,(byte)0x01,(byte)0x00,(byte)0x31,(byte)0x47,(byte)0x00,(byte)0x31,(byte)0x07,(byte)0x01,(byte)0xe0,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xfe,(byte)0x01,(byte)0x01,(byte)0x01,(byte)0xf0
,(byte)0x01,(byte)0x00,(byte)0x31,(byte)0x47,(byte)0x00,(byte)0x31,(byte)0x0f,(byte)0x01,(byte)0xe7,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xfe,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0xfc,(byte)0x01,(byte)0x00,(byte)0x31
,(byte)0x47,(byte)0x00,(byte)0x31,(byte)0x1f,(byte)0x01,(byte)0xcf,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xfc,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0xfc,(byte)0x01,(byte)0x00,(byte)0x31,(byte)0x47,(byte)0x00,(byte)0x31
,(byte)0x3f,(byte)0x01,(byte)0xff,(byte)0x02,(byte)0xfc,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0xfe,(byte)0x01,(byte)0x00,(byte)0x31,(byte)0x47,(byte)0x00,(byte)0x31,(byte)0x3f,(byte)0x01,(byte)0xff,(byte)0x02,(byte)0xf0
,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0x7f,(byte)0x01,(byte)0x00,(byte)0x31,(byte)0x47,(byte)0x00,(byte)0x31,(byte)0x7f,(byte)0x01,(byte)0xff,(byte)0x02,(byte)0xe0,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0xff,(byte)0x01
,(byte)0x80,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x31,(byte)0xff,(byte)0x03,(byte)0x80,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0x80,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47
,(byte)0x00,(byte)0x30,(byte)0x01,(byte)0x01,(byte)0xff,(byte)0x02,(byte)0xfc,(byte)0x01,(byte)0x00,(byte)0x02,(byte)0xff,(byte)0x01,(byte)0xc0,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x30,(byte)0x01
,(byte)0x01,(byte)0xff,(byte)0x02,(byte)0xe0,(byte)0x01,(byte)0x00,(byte)0x02,(byte)0xff,(byte)0x01,(byte)0xc0,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x30,(byte)0x03,(byte)0x01,(byte)0xff,(byte)0x02
,(byte)0x80,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0x01,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xe0,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x30,(byte)0x03,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xfc
,(byte)0x01,(byte)0x00,(byte)0x02,(byte)0x03,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xf0,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x30,(byte)0x07,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xf0,(byte)0x01
,(byte)0x00,(byte)0x02,(byte)0x03,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xf0,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x30,(byte)0x07,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xc0,(byte)0x01,(byte)0x00
,(byte)0x02,(byte)0x07,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xf0,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x30,(byte)0x07,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0x80,(byte)0x01,(byte)0x00,(byte)0x02
,(byte)0x0f,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xf8,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x30,(byte)0x0f,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0x00,(byte)0x03,(byte)0x1f,(byte)0x01,(byte)0xff
,(byte)0x01,(byte)0xf8,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x30,(byte)0x0f,(byte)0x01,(byte)0xfe,(byte)0x01,(byte)0x00,(byte)0x03,(byte)0x3f,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xf8,(byte)0x01
,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x30,(byte)0x0f,(byte)0x01,(byte)0xfc,(byte)0x01,(byte)0x00,(byte)0x03,(byte)0x3e,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xf8,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47
,(byte)0x00,(byte)0x30,(byte)0x0f,(byte)0x01,(byte)0xf8,(byte)0x01,(byte)0x00,(byte)0x03,(byte)0xf8,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xfc,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x30,(byte)0x0f
,(byte)0x01,(byte)0xf0,(byte)0x01,(byte)0x00,(byte)0x02,(byte)0x03,(byte)0x01,(byte)0xf0,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xfc,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x30,(byte)0x0f,(byte)0x01
,(byte)0xe0,(byte)0x01,(byte)0x00,(byte)0x02,(byte)0x0f,(byte)0x01,(byte)0xc1,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xfc,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x30,(byte)0x1f,(byte)0x01,(byte)0xc0
,(byte)0x01,(byte)0x00,(byte)0x02,(byte)0x3f,(byte)0x01,(byte)0x03,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xfc,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x30,(byte)0x1f,(byte)0x01,(byte)0xc0,(byte)0x01
,(byte)0x00,(byte)0x01,(byte)0x02,(byte)0x01,(byte)0xf8,(byte)0x01,(byte)0x03,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xfc,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x30,(byte)0x1f,(byte)0x01,(byte)0x80
,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0x1f,(byte)0x01,(byte)0xe0,(byte)0x01,(byte)0x07,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xfc,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x30,(byte)0x0f,(byte)0x01
,(byte)0x00,(byte)0x02,(byte)0x3f,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0x0f,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xfc,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x30,(byte)0x1f,(byte)0x01,(byte)0x00
,(byte)0x02,(byte)0xfe,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0x1f,(byte)0x01,(byte)0xf7,(byte)0x01,(byte)0xfc,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x30,(byte)0x0f,(byte)0x01,(byte)0x00,(byte)0x01
,(byte)0x0f,(byte)0x01,(byte)0xe0,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0x7f,(byte)0x01,(byte)0xf3,(byte)0x01,(byte)0xfc,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x30,(byte)0x0e,(byte)0x01,(byte)0x00
,(byte)0x01,(byte)0x1f,(byte)0x01,(byte)0x80,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xe3,(byte)0x01,(byte)0xfc,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x30,(byte)0x0e,(byte)0x01
,(byte)0x00,(byte)0x01,(byte)0x3c,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0x01,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xc3,(byte)0x01,(byte)0xfc,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x30,(byte)0x0c
,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0xf0,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0x07,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0x83,(byte)0x01,(byte)0xfc,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x30
,(byte)0x0c,(byte)0x01,(byte)0x03,(byte)0x01,(byte)0xc0,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0x1f,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0x83,(byte)0x01,(byte)0xf8,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00
,(byte)0x30,(byte)0x0c,(byte)0x01,(byte)0x07,(byte)0x01,(byte)0x00,(byte)0x02,(byte)0x3f,(byte)0x01,(byte)0xfe,(byte)0x01,(byte)0x03,(byte)0x01,(byte)0xf8,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x31
,(byte)0x0e,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0x01,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xfc,(byte)0x01,(byte)0x03,(byte)0x01,(byte)0xf8,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x31,(byte)0x1c
,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0x1f,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xf8,(byte)0x01,(byte)0x03,(byte)0x01,(byte)0xf0,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x31,(byte)0x1c,(byte)0x01
,(byte)0x00,(byte)0x01,(byte)0x3f,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xe6,(byte)0x01,(byte)0x07,(byte)0x01,(byte)0xf0,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x31,(byte)0x18,(byte)0x01,(byte)0x01
,(byte)0x01,(byte)0xff,(byte)0x02,(byte)0x8e,(byte)0x01,(byte)0x07,(byte)0x01,(byte)0xf0,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x31,(byte)0x18,(byte)0x01,(byte)0x07,(byte)0x01,(byte)0xff,(byte)0x01
,(byte)0xfc,(byte)0x01,(byte)0x0e,(byte)0x01,(byte)0x07,(byte)0x01,(byte)0xe0,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x31,(byte)0x30,(byte)0x01,(byte)0x0f,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xe0
,(byte)0x01,(byte)0x1e,(byte)0x01,(byte)0x07,(byte)0x01,(byte)0xe0,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x31,(byte)0x30,(byte)0x01,(byte)0x3f,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0x00,(byte)0x01
,(byte)0x3c,(byte)0x01,(byte)0x07,(byte)0x01,(byte)0xc0,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x31,(byte)0x30,(byte)0x01,(byte)0x7f,(byte)0x01,(byte)0xf0,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0x7c
,(byte)0x01,(byte)0x0f,(byte)0x01,(byte)0xc0,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x31,(byte)0x30,(byte)0x01,(byte)0x7f,(byte)0x01,(byte)0x80,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0xf8,(byte)0x01
,(byte)0x0f,(byte)0x01,(byte)0x80,(byte)0x01,(byte)0x00,(byte)0x30,(byte)0x47,(byte)0x00,(byte)0x31,(byte)0x30,(byte)0x01,(byte)0xfe,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0x03,(byte)0x01,(byte)0xf8,(byte)0x01,(byte)0x1f
,(byte)0x01,(byte)0x00,(byte)0x31,(byte)0x47,(byte)0x00,(byte)0x31,(byte)0x38,(byte)0x01,(byte)0xf8,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0x0f,(byte)0x01,(byte)0xf8,(byte)0x01,(byte)0x1e,(byte)0x01,(byte)0x00,(byte)0x31
,(byte)0x47,(byte)0x00,(byte)0x31,(byte)0x38,(byte)0x01,(byte)0xf0,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xf0,(byte)0x01,(byte)0x3c,(byte)0x01,(byte)0x00,(byte)0x31,(byte)0x47,(byte)0x00,(byte)0x31
,(byte)0x1c,(byte)0x01,(byte)0xe0,(byte)0x01,(byte)0x03,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xe0,(byte)0x01,(byte)0x78,(byte)0x01,(byte)0x00,(byte)0x31,(byte)0x47,(byte)0x00,(byte)0x31,(byte)0x0e,(byte)0x01,(byte)0xe0
,(byte)0x01,(byte)0x0f,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0xe0,(byte)0x01,(byte)0xf0,(byte)0x01,(byte)0x00,(byte)0x31,(byte)0x47,(byte)0x00,(byte)0x31,(byte)0x07,(byte)0x01,(byte)0xf0,(byte)0x01,(byte)0x0f,(byte)0x01
,(byte)0xff,(byte)0x01,(byte)0x80,(byte)0x01,(byte)0xe0,(byte)0x01,(byte)0x00,(byte)0x31,(byte)0x47,(byte)0x00,(byte)0x31,(byte)0x03,(byte)0x01,(byte)0xf0,(byte)0x01,(byte)0x0f,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0x03
,(byte)0x01,(byte)0xc0,(byte)0x01,(byte)0x00,(byte)0x31,(byte)0x47,(byte)0x00,(byte)0x31,(byte)0x01,(byte)0x01,(byte)0xf8,(byte)0x01,(byte)0x0f,(byte)0x01,(byte)0xf8,(byte)0x01,(byte)0x03,(byte)0x01,(byte)0x00,(byte)0x32
,(byte)0x47,(byte)0x00,(byte)0x32,(byte)0x7c,(byte)0x01,(byte)0x00,(byte)0x35,(byte)0x47,(byte)0x00,(byte)0x32,(byte)0x1c,(byte)0x01,(byte)0x00,(byte)0x35,(byte)0x47,(byte)0x00,(byte)0x68,(byte)0x47,(byte)0x00,(byte)0x68
,(byte)0x47,(byte)0x00,(byte)0x68,(byte)0x47,(byte)0x00,(byte)0x33,(byte)0xff,(byte)0x01,(byte)0xfc,(byte)0x01,(byte)0x00,(byte)0x33,(byte)0x47,(byte)0x00,(byte)0x33,(byte)0x7f,(byte)0x01,(byte)0xfc,(byte)0x01,(byte)0x00
,(byte)0x33,(byte)0x47,(byte)0x00,(byte)0x68,(byte)0x47,(byte)0x00,(byte)0x38,(byte)0x0e,(byte)0x01,(byte)0x00,(byte)0x2f,(byte)0x47,(byte)0x00,(byte)0x2c,(byte)0x0f,(byte)0x01,(byte)0xe0,(byte)0x01,(byte)0x00,(byte)0x0a
,(byte)0x7f,(byte)0x01,(byte)0xc0,(byte)0x01,(byte)0x00,(byte)0x2e,(byte)0x47,(byte)0x00,(byte)0x2c,(byte)0x06,(byte)0x01,(byte)0xe1,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0x07,(byte)0x01,(byte)0x84,(byte)0x01,(byte)0x06
,(byte)0x01,(byte)0x81,(byte)0x01,(byte)0x84,(byte)0x01,(byte)0x03,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0x1c,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0xe0,(byte)0x01,(byte)0xc0,(byte)0x01,(byte)0x80,(byte)0x01,(byte)0xf0
,(byte)0x01,(byte)0x00,(byte)0x2c,(byte)0x47,(byte)0x00,(byte)0x2c,(byte)0x06,(byte)0x01,(byte)0x63,(byte)0x01,(byte)0xfc,(byte)0x01,(byte)0x1f,(byte)0x01,(byte)0xe7,(byte)0x01,(byte)0xfe,(byte)0x01,(byte)0xf1,(byte)0x01
,(byte)0xe7,(byte)0x01,(byte)0xf3,(byte)0x01,(byte)0xfc,(byte)0x01,(byte)0x7e,(byte)0x01,(byte)0x01,(byte)0x01,(byte)0xc0,(byte)0x01,(byte)0xc1,(byte)0x02,(byte)0xf8,(byte)0x01,(byte)0x00,(byte)0x2c,(byte)0x47,(byte)0x00
,(byte)0x2c,(byte)0x06,(byte)0x01,(byte)0x61,(byte)0x01,(byte)0xdc,(byte)0x01,(byte)0x38,(byte)0x01,(byte)0x74,(byte)0x01,(byte)0x66,(byte)0x01,(byte)0x60,(byte)0x01,(byte)0xe3,(byte)0x01,(byte)0x11,(byte)0x01,(byte)0x9c
,(byte)0x01,(byte)0x66,(byte)0x01,(byte)0x01,(byte)0x01,(byte)0x80,(byte)0x01,(byte)0x01,(byte)0x01,(byte)0xc1,(byte)0x01,(byte)0x98,(byte)0x01,(byte)0x00,(byte)0x2c,(byte)0x47,(byte)0x00,(byte)0x2c,(byte)0x06,(byte)0x01
,(byte)0x61,(byte)0x01,(byte)0xcc,(byte)0x01,(byte)0x70,(byte)0x01,(byte)0x38,(byte)0x01,(byte)0x60,(byte)0x02,(byte)0xe3,(byte)0x01,(byte)0x01,(byte)0x01,(byte)0x8c,(byte)0x01,(byte)0x60,(byte)0x01,(byte)0x03,(byte)0x01
,(byte)0x80,(byte)0x01,(byte)0x01,(byte)0x01,(byte)0xc1,(byte)0x01,(byte)0x80,(byte)0x01,(byte)0x00,(byte)0x2c,(byte)0x47,(byte)0x00,(byte)0x2c,(byte)0x07,(byte)0x01,(byte)0xe1,(byte)0x01,(byte)0xcc,(byte)0x01,(byte)0x60
,(byte)0x01,(byte)0x38,(byte)0x01,(byte)0x60,(byte)0x02,(byte)0xe3,(byte)0x01,(byte)0x01,(byte)0x01,(byte)0x8c,(byte)0x01,(byte)0x70,(byte)0x01,(byte)0x03,(byte)0x01,(byte)0x80,(byte)0x01,(byte)0x03,(byte)0x01,(byte)0xe1
,(byte)0x01,(byte)0xc0,(byte)0x01,(byte)0x00,(byte)0x2c,(byte)0x47,(byte)0x00,(byte)0x2c,(byte)0x07,(byte)0x01,(byte)0xf1,(byte)0x01,(byte)0xcc,(byte)0x01,(byte)0x60,(byte)0x01,(byte)0x38,(byte)0x01,(byte)0x60,(byte)0x01
,(byte)0x7f,(byte)0x01,(byte)0xe3,(byte)0x01,(byte)0xf1,(byte)0x01,(byte)0x8c,(byte)0x01,(byte)0x7c,(byte)0x01,(byte)0x03,(byte)0x01,(byte)0x83,(byte)0x01,(byte)0xe3,(byte)0x01,(byte)0x61,(byte)0x01,(byte)0xf0,(byte)0x01
,(byte)0x00,(byte)0x2c,(byte)0x47,(byte)0x00,(byte)0x2c,(byte)0x06,(byte)0x01,(byte)0x39,(byte)0x01,(byte)0xf8,(byte)0x01,(byte)0x60,(byte)0x01,(byte)0x38,(byte)0x01,(byte)0x60,(byte)0x02,(byte)0xe3,(byte)0x01,(byte)0xf1
,(byte)0x01,(byte)0xf8,(byte)0x01,(byte)0x3e,(byte)0x01,(byte)0x03,(byte)0x01,(byte)0x80,(byte)0x01,(byte)0xc7,(byte)0x01,(byte)0x70,(byte)0x01,(byte)0xf8,(byte)0x01,(byte)0x00,(byte)0x2c,(byte)0x47,(byte)0x00,(byte)0x2c
,(byte)0x06,(byte)0x01,(byte)0x39,(byte)0x01,(byte)0xfc,(byte)0x01,(byte)0x60,(byte)0x01,(byte)0x38,(byte)0x01,(byte)0x60,(byte)0x02,(byte)0xe3,(byte)0x01,(byte)0x11,(byte)0x01,(byte)0xfc,(byte)0x01,(byte)0x0e,(byte)0x01
,(byte)0x01,(byte)0x01,(byte)0x80,(byte)0x01,(byte)0xc7,(byte)0x01,(byte)0xf0,(byte)0x01,(byte)0x38,(byte)0x01,(byte)0x00,(byte)0x2c,(byte)0x47,(byte)0x00,(byte)0x2c,(byte)0x06,(byte)0x01,(byte)0x39,(byte)0x01,(byte)0xdc
,(byte)0x01,(byte)0x70,(byte)0x01,(byte)0x38,(byte)0x01,(byte)0x60,(byte)0x02,(byte)0xe3,(byte)0x01,(byte)0x01,(byte)0x01,(byte)0x9c,(byte)0x01,(byte)0x06,(byte)0x01,(byte)0x01,(byte)0x01,(byte)0xc0,(byte)0x01,(byte)0xc6
,(byte)0x01,(byte)0x30,(byte)0x01,(byte)0x18,(byte)0x01,(byte)0x00,(byte)0x2c,(byte)0x47,(byte)0x00,(byte)0x2c,(byte)0x06,(byte)0x01,(byte)0x39,(byte)0x01,(byte)0xce,(byte)0x01,(byte)0x78,(byte)0x01,(byte)0x70,(byte)0x01
,(byte)0x60,(byte)0x02,(byte)0xe3,(byte)0x01,(byte)0x19,(byte)0x01,(byte)0x8e,(byte)0x01,(byte)0xc6,(byte)0x01,(byte)0x01,(byte)0x01,(byte)0xe0,(byte)0x01,(byte)0xce,(byte)0x01,(byte)0x39,(byte)0x01,(byte)0x18,(byte)0x01
,(byte)0x00,(byte)0x2c,(byte)0x47,(byte)0x00,(byte)0x2c,(byte)0x0f,(byte)0x01,(byte)0x71,(byte)0x01,(byte)0xc7,(byte)0x01,(byte)0x3c,(byte)0x01,(byte)0xe0,(byte)0x01,(byte)0x60,(byte)0x02,(byte)0xe3,(byte)0x01,(byte)0xf9
,(byte)0x01,(byte)0x87,(byte)0x01,(byte)0xee,(byte)0x01,(byte)0x00,(byte)0x01,(byte)0xf9,(byte)0x01,(byte)0xcc,(byte)0x01,(byte)0x1d,(byte)0x01,(byte)0xb8,(byte)0x01,(byte)0x00,(byte)0x2c,(byte)0x47,(byte)0x00,(byte)0x2c
,(byte)0x0f,(byte)0x01,(byte)0xe1,(byte)0x01,(byte)0xc3,(byte)0x01,(byte)0xdf,(byte)0x01,(byte)0xc0,(byte)0x01,(byte)0xf0,(byte)0x02,(byte)0xe7,(byte)0x01,(byte)0xf1,(byte)0x01,(byte)0xc3,(byte)0x01,(byte)0xfc,(byte)0x01
,(byte)0x00,(byte)0x01,(byte)0x3f,(byte)0x01,(byte)0xdc,(byte)0x01,(byte)0x1d,(byte)0x01,(byte)0xf0,(byte)0x01,(byte)0x00,(byte)0x2c,(byte)0x47,(byte)0x00,(byte)0x68,(byte)0x47,(byte)0x00,(byte)0x68,(byte)0x47,(byte)0x00
,(byte)0x68,(byte)0x47,(byte)0x00,(byte)0x68,(byte)0x47,(byte)0x00,(byte)0x2c,(byte)0x06,(byte)0x01,(byte)0xc4,(byte)0x01,(byte)0xfe,(byte)0x01,(byte)0x4e,(byte)0x01,(byte)0x76,(byte)0x01,(byte)0x60,(byte)0x01,(byte)0xf9
,(byte)0x01,(byte)0x1c,(byte)0x01,(byte)0xc4,(byte)0x01,(byte)0x9c,(byte)0x01,(byte)0xcf,(byte)0x01,(byte)0x0f,(byte)0x01,(byte)0x64,(byte)0x01,(byte)0xe6,(byte)0x01,(byte)0x1c,(byte)0x01,(byte)0x90,(byte)0x01,(byte)0x00
,(byte)0x2c,(byte)0x47,(byte)0x00,(byte)0x2c,(byte)0x07,(byte)0x01,(byte)0x46,(byte)0x01,(byte)0xff,(byte)0x01,(byte)0x4e,(byte)0x01,(byte)0x7a,(byte)0x01,(byte)0xe1,(byte)0x01,(byte)0xcb,(byte)0x01,(byte)0x1c,(byte)0x01
,(byte)0xc6,(byte)0x01,(byte)0x9d,(byte)0x01,(byte)0xef,(byte)0x01,(byte)0x04,(byte)0x01,(byte)0x66,(byte)0x01,(byte)0xef,(byte)0x01,(byte)0x3f,(byte)0x01,(byte)0xb0,(byte)0x01,(byte)0x00,(byte)0x2c,(byte)0x47,(byte)0x00
,(byte)0x2c,(byte)0x07,(byte)0x01,(byte)0xce,(byte)0x01,(byte)0x62,(byte)0x01,(byte)0x4a,(byte)0x01,(byte)0x70,(byte)0x01,(byte)0xc1,(byte)0x01,(byte)0x83,(byte)0x01,(byte)0x1c,(byte)0x01,(byte)0xe7,(byte)0x01,(byte)0x9d
,(byte)0x01,(byte)0xc6,(byte)0x01,(byte)0x07,(byte)0x01,(byte)0x7e,(byte)0x01,(byte)0xe7,(byte)0x01,(byte)0x70,(byte)0x01,(byte)0xe0,(byte)0x01,(byte)0x00,(byte)0x2c,(byte)0x47,(byte)0x00,(byte)0x2c,(byte)0x05,(byte)0x01
,(byte)0xcf,(byte)0x01,(byte)0x62,(byte)0x01,(byte)0x4e,(byte)0x01,(byte)0x70,(byte)0x01,(byte)0xe1,(byte)0x01,(byte)0x83,(byte)0x01,(byte)0x1d,(byte)0x01,(byte)0xe7,(byte)0x01,(byte)0x9c,(byte)0x01,(byte)0xe6,(byte)0x01
,(byte)0x05,(byte)0x01,(byte)0x7c,(byte)0x01,(byte)0xe7,(byte)0x01,(byte)0x66,(byte)0x01,(byte)0xe0,(byte)0x01,(byte)0x00,(byte)0x2c,(byte)0x47,(byte)0x00,(byte)0x2c,(byte)0x05,(byte)0x01,(byte)0xcf,(byte)0x01,(byte)0x63
,(byte)0x01,(byte)0xcf,(byte)0x01,(byte)0x70,(byte)0x01,(byte)0xe1,(byte)0x01,(byte)0xfb,(byte)0x01,(byte)0xdd,(byte)0x01,(byte)0xf5,(byte)0x01,(byte)0x9d,(byte)0x01,(byte)0xe6,(byte)0x01,(byte)0x07,(byte)0x01,(byte)0x6e
,(byte)0x01,(byte)0xe7,(byte)0x01,(byte)0xfe,(byte)0x01,(byte)0x60,(byte)0x01,(byte)0x00,(byte)0x2c,(byte)0x47,(byte)0x00,(byte)0x2c,(byte)0x0e,(byte)0x01,(byte)0xdb,(byte)0x01,(byte)0x63,(byte)0x01,(byte)0xcb,(byte)0x01
,(byte)0xf8,(byte)0x01,(byte)0xe0,(byte)0x01,(byte)0x7b,(byte)0x01,(byte)0xdd,(byte)0x01,(byte)0x3c,(byte)0x01,(byte)0x9d,(byte)0x01,(byte)0xe6,(byte)0x01,(byte)0x07,(byte)0x01,(byte)0x64,(byte)0x01,(byte)0xed,(byte)0x01
,(byte)0xbe,(byte)0x01,(byte)0x60,(byte)0x01,(byte)0x00,(byte)0x2c,(byte)0x47,(byte)0x00,(byte)0x68,(byte)0x47,(byte)0x00,(byte)0x68,(byte)0x47,(byte)0x00,(byte)0x68,(byte)0x47,(byte)0x00,(byte)0x68,(byte)0x47,(byte)0x00
,(byte)0x68,(byte)0x47,(byte)0x00,(byte)0x68,(byte)0x47,(byte)0x00,(byte)0x68,(byte)0x47,(byte)0x00,(byte)0x68,(byte)0x1b,(byte)0x45};
If you are taking from the image Via the Gallery intent. Open an input stream and then loop through it till you reach the End of the stream. In the loop read each byte and place in the array.
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] b = new byte[0];
int bufferSize = 1024;
byte[] buffer = new byte[bufferSize];
InputStream inputStream = getActivity().getApplicationContext().getContentResolver().openInputStream(data.getData());
int len = 0;
while ((len = inputStream.read(buffer)) != -1) {
baos.write(buffer, 0, len);
}
b = baos.toByteArray();
baos.close();
Please see how to ask on stack overflow. Now come to your question, try this code to get a byte array from bitmap,
Bitmap bitmap = intent.getExtras().get("data");
ByteArrayOutputStream bos= new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, bos);
byte[] byteArray = bos.toByteArray();

How to convert video/audio file to byte array and vice versa in android.?

Am trying to convert audio/video to byte array and vice versa,
using below code am able converting audio/video files to byte array(see below code) but am fail to convert large file(more then 50MB files) is there any limit.?
how to convert byte array to audio/video file.? kindly help me out.
public byte[] convert(String path) throws IOException {
FileInputStream fis = new FileInputStream(path);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] b = new byte[1024];
for (int readNum; (readNum = fis.read(b)) != -1;) {
bos.write(b, 0, readNum);
}
byte[] bytes = bos.toByteArray();
return bytes;
}
Kindly help out to get the result
Thanks... with your help i got solution, to convert the bytes to file(audio/video), see below code.
private void convertBytesToFile(byte[] bytearray) {
try {
File outputFile = File.createTempFile("file", "mp3", getCacheDir());
outputFile.deleteOnExit();
FileOutputStream fileoutputstream = new FileOutputStream(tempMp3);
fileoutputstream.write(bytearray);
fileoutputstream.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
**File outputFile = File.createTempFile("file", "mp3", getCacheDir());
outputFile contains the path, use that to play your audio/video file**
The ByteArrayOutputStream you create is kept in the memory. If you work with huge files, then your memory can limit your ability. This: java.lang.OutOfMemoryError: Java heap space question has a solution that might work for you, though it's probably not the best thing to keep 50MB in the memory.
To answer your other question, you can do the exact same thing:
public void convert(byte[] buf, String path) throws IOException {
ByteArrayInputStream bis = new ByteArrayInputStream(buf);
FileOutputStream fos = new FileOutputStream(path);
byte[] b = new byte[1024];
for (int readNum; (readNum = bis.read(b)) != -1;) {
fos.write(b, 0, readNum);
}
}

Reading InputStream after writing

I am trying to read InputStream after writing output stream to sdcard. I have downloaded file from HttpURLConnection. File is successfuly written to sdcard. But I am trying to read inputstream from same file but contents are not being read properly. On emulator some contents are shown but on actual device contents are not shown. Can you please help what can be the issue? I am posting downloading, writing and reading code.
fileUrl = new URL(filename);
HttpURLConnection connection = (HttpURLConnection)fileUrl.openConnection();
InputStream is = connection.getInputStream();
/**
* Create file with input stream
*/
File downloadFile = new File("/sdcard/", "myFile3.pdf");
downloadFile.createNewFile();
final FileOutputStream outputStream = new FileOutputStream(downloadFile);
int availbleLength = is.available();
byte[] bytes = new byte[availbleLength];
int len1 = 0;
while ((len1 = is.read(bytes)) > 0) {
outputStream.write(bytes, 0, len1);
}
outputStream.flush();
outputStream.close();
File myFile = new File("/sdcard/myFile3.pdf");
InputStream inputStream = new FileInputStream(myFile);
byte[] buffer = new byte[inputStream.available()];
inputStream.read(buffer);
System.out.println("Byte Lenght: " + buffer.length);
inputStream.available() is only an estimate not actual length of the complete input data.
FileInputStream.available()

sending bmp usng sockets

I'm trying to send bmp image using socket. I have such code on android:
ByteArrayOutputStream stream = new ByteArrayOutputStream();
MainActivity.bmp.compress(Bitmap.CompressFormat.JPEG, 20,
stream);
byte[] byteArray = stream.toByteArray();
OutputStream os = echoSocket.getOutputStream();
os.write(byteArray,0,byteArray.length);
os.flush();
and on PC:
String q = SockIn.readLine();
File file = new File("filename.bmp");
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(q);
in bmp file I only get up to 401 bytes, which of course is corrupt bmp image. what am I doing wrong?
MODIFIED
modified PC side, now the code is:
InputStream in_ = clientSocket.getInputStream();
OutputStream out_ = new FileOutputStream("filename.bmp");
final byte[] buffer = new byte[1024];
int read = -1;
int i = 0;
while ((read = in_.read(buffer)) != -1) {
out_.write(buffer, 0, read);
System.out.println(i);
i++;
}
in_.close();
out_.close();
System.out.println("Done");
It never gets to last line( println("Done") ). when I close android program, it gets to last line and bmp opens succesfully
Your reading logic is completely off. You only use a readLine() once and then write that to file. The data that was written to the socket on the device side was binary. That means that trying to read it as if it were textual (as readLine() does) will return meaningless junk. The reason it's usually 401 bytes long is that readLine() will look for the first newline character combination and return everything up to that as a String. This is not what you want.
What you need is a loop that will read from the socket and write into the file as long as there is data in the socket. A standard copy loop should suffice here.
InputStream in = socket.getInputStream();
OutputStream out = new FileOutputStream(...);
final byte[] buffer = new byte[BUFFER_SIZE];
int read = -1;
while ((read = in.read(buffer)) != -1)
out.write(buffer, 0, read);
in.close();
out.close();
Note that the above code isn't tested but something to that effect should do the trick.
Why are you reading a String if you are sending a byte ?
Try those setp one by one only if the previous did not worked.
1. Read() and don't Readline() what you are writing
If you write a byte, read a byte
Byte obj = SockIn.read();
2. Encode your array before sending
Base64.encodeBase64String(byteArray);

Categories

Resources