I'm using the java commons base64 api. Here is what i need to do. My program creates a pdf and html file. I need to base64 encode each file into a string and then store it into a text field in a database. and at a later date retrieve it and decode it and store it back into the file type it should be. But i'm not quite to sure. Here is what i have so far:
File file = new File( "D:/projects/base64code/test.pdf" );
File fileOut = new File( "D:/projects/base64code/test_out.pdf" );
byte scratch = new byte[8*1024];
FileInputStream in = new FileInputStream(file);
FileOutputStream out = new FileOutputStream(fileOut);
// These next two give you super turbo performance speed
BufferedInputStream bin = new BufferedInputStream(in);
BufferedOutputStream bout = new BufferedOutputStream(out);
// If you don't loop, then you're probably losing data
int consumed = 0;
consumed = bin.read( scratch );
if ( consumed > 0 )
bout.write( scratch, 0, consumed );
} while ( consumed >= 0 );
byte encodedArray = Base64.encodeBase64( scratch );
byte decodeArray = new byte[8*1024];
decodeArray = Base64.decodeBase64(encodedArray);
So what i'm trying to do in this example is:
1. Encode the pdf file.
2. Retrieve the string value so i can store it into a column in a database table ( I'm not sure how to do that here)
3. Take the string value (just to test that i can convert back to a byte and decode) and convert into a byte then save to the appropriate file name.
Thanks in advance.