Mega Code Archive

 
Categories / Android / File
 

Loads a file to a ByteBuffer

import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.nio.ByteBuffer; class Main {   static final String defaultCharset = "UTF-8"; // used if not found in header                           // or meta charset   private static final int bufferSize = 0x20000; // ~130K.   /**    * Loads a file to a Document.    *     * @param in    *            file to load    * @param charsetName    *            character set of input    * @param baseUri    *            base URI of document, to resolve relative links against    * @return Document    * @throws IOException    *             on IO error    */   static ByteBuffer readToByteBuffer(InputStream inStream) throws IOException {     byte[] buffer = new byte[bufferSize];     ByteArrayOutputStream outStream = new ByteArrayOutputStream(bufferSize);     int read;     while (true) {       read = inStream.read(buffer);       if (read == -1)         break;       outStream.write(buffer, 0, read);     }     ByteBuffer byteData = ByteBuffer.wrap(outStream.toByteArray());     return byteData;   } }