If you don't want a generated key, then don't use the KeyGenerator class :-)
Construct a SecretKeySpec instead, and pass that to the Cipher.init method. If the byte is of length 16 you'll get AES-128, if its's of length 32 then AES-256 will be used (assuming your JCE provider supports that).
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com