Java Code Examples for android.util.Base64OutputStream#write()

The following examples show how to use android.util.Base64OutputStream#write() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: RLFileUtil.java    From Roid-Library with Apache License 2.0 6 votes vote down vote up
/**
 * 
 * @param file
 * @return
 */
public static String fileToBase64(String file) {
    String result= null;
    try {
        FileInputStream fis = new FileInputStream(new File(file));
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        Base64OutputStream base64out = new Base64OutputStream(baos, Base64.NO_WRAP);
        byte[] buffer = new byte[1024];
        int len = 0;
        while ((len = fis.read(buffer)) >= 0) {
            base64out.write(buffer, 0, len);
        }
        base64out.flush();
        base64out.close();
        /*
         * Why should we close Base64OutputStream before processing the data:
         * http://stackoverflow.com/questions/24798745/android-file-to-base64-using-streaming-sometimes-missed-2-bytes
         */
        result = new String(baos.toByteArray(), "UTF-8");
        baos.close();
        fis.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return result;
}
 
Example 2
Source File: ImageStoreManager.java    From react-native-GPay with MIT License 5 votes vote down vote up
String convertInputStreamToBase64OutputStream(InputStream is) throws IOException {
  ByteArrayOutputStream baos = new ByteArrayOutputStream();
  Base64OutputStream b64os = new Base64OutputStream(baos, Base64.NO_WRAP);
  byte[] buffer = new byte[BUFFER_SIZE];
  int bytesRead;
  try {
    while ((bytesRead = is.read(buffer)) > -1) {
      b64os.write(buffer, 0, bytesRead);
    }
  } finally {
    closeQuietly(b64os); // this also closes baos and flushes the final content to it
  }
  return baos.toString();
}
 
Example 3
Source File: JsonStreamerEntity.java    From RestVolley with Apache License 2.0 5 votes vote down vote up
private void writeToFromStream(OutputStream os, StreamWrapper entry)
        throws IOException {

    // Send the meta data.
    writeMetaData(os, entry.name, entry.contentType);

    int bytesRead;

    // Upload the file's contents in Base64.
    Base64OutputStream bos = new Base64OutputStream(os, Base64.NO_CLOSE | Base64.NO_WRAP);

    // Read from input stream until no more data's left to read.
    while ((bytesRead = entry.inputStream.read(buffer)) != -1) {
        bos.write(buffer, 0, bytesRead);
    }

    // Close the Base64 output stream.
    if (bos != null) {
        bos.close();
    }

    // End the meta data.
    endMetaData(os);

    // Close input stream.
    if (entry.autoClose) {
        // Safely close the input stream.
        if (entry.inputStream != null) {
            entry.inputStream.close();
        }
    }
}
 
Example 4
Source File: JsonStreamerEntity.java    From RestVolley with Apache License 2.0 5 votes vote down vote up
private void writeToFromFile(OutputStream os, FileWrapper wrapper)
        throws IOException {

    // Send the meta data.
    writeMetaData(os, wrapper.file.getName(), wrapper.contentType);

    int bytesRead;

    // Open the file for reading.
    FileInputStream in = new FileInputStream(wrapper.file);

    // Upload the file's contents in Base64.
    Base64OutputStream bos = new Base64OutputStream(os, Base64.NO_CLOSE | Base64.NO_WRAP);

    // Read from file until no more data's left to read.
    while ((bytesRead = in.read(buffer)) != -1) {
        bos.write(buffer, 0, bytesRead);
    }

    // Close the Base64 output stream.
    if (bos != null) {
        bos.close();
    }

    // End the meta data.
    endMetaData(os);

    // Safely close the input stream.
    if (in != null) {
        in.close();
    }
}
 
Example 5
Source File: UrlStreamOpenerTests.java    From pixate-freestyle-android with Apache License 2.0 4 votes vote down vote up
@Override
protected void setUp() throws Exception {
    super.setUp();

    Context context = this.getContext();
    PixateFreestyle.init(context.getApplicationContext());

    // Grab the bitmap placed in the assets. We can use it to compare
    // results later.
    InputStream is = context.getAssets().open(IMAGE_ASSET);
    assetBitmap = BitmapFactory.decodeStream(is);
    is.close();

    Resources resources = context.getResources();

    int rawFileId = resources.getIdentifier(RAW_TEST_FILE, "raw", this.getContext().getPackageName());

    testFileContents = readStream(resources.openRawResource(rawFileId));

    // Create a document file.
    OutputStreamWriter writer =
            new OutputStreamWriter(getContext().openFileOutput(DOCUMENT_FILE, Context.MODE_PRIVATE));
    try {
        writer.write(testFileContents);
    } finally {
        writer.close();
    }

    // Learn the document file's file:// uri so we can test that scheme.
    documentFileUri = new File(context.getFilesDir(), DOCUMENT_FILE).toURI().toString();

    // Clean it up to make it look like someone would type it in css
    // (file:// instead of just file:/)
    if (documentFileUri.startsWith("file:/") && !documentFileUri.startsWith("file://")) {
        documentFileUri = documentFileUri.replace("file:", "file://");
    }

    // Create a temp file.
    tempFile = new File(context.getCacheDir(), TMP_FILE);
    writer = new OutputStreamWriter(new FileOutputStream(tempFile));
    try {
        writer.write(testFileContents);
    } finally {
        writer.close();
    }

    // Get a base64 of the test asset image bytes so we can do a data: call
    // and compare results.
    is = context.getAssets().open(IMAGE_ASSET);
    ByteArrayOutputStream output = new ByteArrayOutputStream();
    Base64OutputStream bos = new Base64OutputStream(output, Base64.DEFAULT);

    try {
        byte[] buffer = new byte[2048];
        int count = is.read(buffer);

        while (count > 0) {
            bos.write(buffer, 0, count);
            count = is.read(buffer);
        }

        assetBitmapBase64 = output.toString();

    } finally {
        is.close();
        bos.close();
    }

}