/** * Calls {@link #write(int)} repeatedly until <var>len</var> bytes are * written. * * @param theBytes * array from which to read bytes * @param off * offset for array * @param len * max number of bytes to read into array * @since 1.3 */ public void write(byte[] theBytes, int off, int len) throws java.io.IOException { // Encoding suspended? if (suspendEncoding) { super.out.write(theBytes, off, len); return; } // end if: supsended for (int i = 0; i < len; i++) { write(theBytes[off + i]); } // end for: each byte written } // end write
/** * Convenience method for decoding data to a file. * * @param dataToDecode * Base64-encoded data as a string * @param filename * Filename for saving decoded data * @return <tt>true</tt> if successful, <tt>false</tt> otherwise * @since 2.1 */ public static boolean decodeToFile(String dataToDecode, String filename) { boolean success = false; Base64.OutputStream bos = null; try { bos = new Base64.OutputStream( new java.io.FileOutputStream(filename), Base64.DECODE); bos.write(dataToDecode.getBytes(PREFERRED_ENCODING)); success = true; } // end try catch (java.io.IOException e) { success = false; } // end catch: IOException finally { try { bos.close(); } catch (Exception e) { } } // end finally return success; } // end decodeToFile
/** * Convenience method for encoding data to a file. * * @param dataToEncode * byte array of data to encode in base64 form * @param filename * Filename for saving encoded data * @return <tt>true</tt> if successful, <tt>false</tt> otherwise * @since 2.1 */ public static boolean encodeToFile(byte[] dataToEncode, String filename) { boolean success = false; Base64.OutputStream bos = null; try { bos = new Base64.OutputStream( new java.io.FileOutputStream(filename), Base64.ENCODE); bos.write(dataToEncode); success = true; } // end try catch (java.io.IOException e) { success = false; } // end catch: IOException finally { try { bos.close(); } catch (Exception e) { } } // end finally return success; } // end encodeToFile