I think you are getting corruot data so instead using available use filezise method of FileConnection. For example:
Code:
InputStream input = fconn.openInputStream();
byte[] data = new byte[fconn.filesize()];
System.out.println("reading");
input.read(data);