RSA encryption can only be used to encrypt data that is smaller than the modulus of the key. I.e. a 2048-bit RSA public key can only encrypt 256 bytes of data. Some of this data is needed for padding bytes, so typically one is left with even less space to play with.
Commonly this is solved with a hybrid encryption scheme. That is, the data itself is encryption with a temporary symmetric session key, then the session key is encrypted with the recipient's public key. Both the encrypted data and the encrypted session key are sent to the recipient.
You may wish to consider something like OpenPGP, which implements this behaviour (and more). BouncyCastle offesr an OpenPGP implementation for Java.