I am using Commons Codec v1.7 to Base64 encode a TIFF file for writing to
an XML file as CDATA. Simple:
File file = new File(fileName);
FileInputStream fis = new FileInputStream(file);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Base64OutputStream b64os = new Base64OutputStream(baos);
int bufSize = 8 * 1024;
byte [] buffer = new byte[bufSize];
int count;
while ((count = fis.read(buffer, 0, bufSize)) != -1)
b64os.write(buffer, 0, count);
fis.close();
baos.flush();
b64os.close();
baos.close();
xtw.writeCData(new String(baos.toByteArray()));
However I'm concerned that a future version Commons Codec of might not
default to chunked output. So I'd like to swap
Base64OutputStream b64os = new Base64OutputStream(baos);
for
byte [] eol = {0xD, 0xA};
Base64OutputStream b64os = new Base64OutputStream(baos, true, 76,
eol);
However when I do this, the program crashes out on creating "new
Base64OutputStream(...)". If fact, it skips right past a catch on Exception
and goes directly to finally (honest--my logger shows nothing and I've
watched this dozens of times in Eclipse's deugger).
Am I doing something wrong?
--
"Hell hath no limits, nor is circumscrib'd In one self-place; but where we
are is hell, And where hell is, there must we ever be" --Christopher
Marlowe, *Doctor Faustus* (v, 121-24)