In the future, please
UseCodeTags when posting code of any length. It's unnecessarily hard to read otherwise, making it less likely that people will bother to do so. I have done this for you here.
JPEG is not a lossless image format. That means that round-tripping an image through a read and write will not result in a pixel-perfect copy of the image. If you need that, consider using a lossless image format like PNG or TIFF.
One thing to try with your current code is to set the "quality" setting of the ImageEncodeParam parameter to 1.0; I'm not sure if that's the default, and it will increase the chances of the image not getting changed much (probably not to the point of pixelwise identity, though).
By the way, if you're not using JAI for manipulating the image, but just for reading and writing it, consider using the javax.imageio.ImageIO class with its read and write methods instead. JAI is dead for all practical purposes.