I'm assuming you are referring to the proprietary Windows BMP format. Reading and writing them is no problem, they're just bytes like any other file. The standard Image classes in Java only handle Internet standard formats (GIF, JPG, and PNG). However I have heard there's an add-on package called Java Advanced Imaging, which you can get from Sun's download page ("Products & APIs"). Haven't looked into it myself but from what I've seen in other posts it may work for you.
Of course there are a million (ok maybe a fewer than million, a lot fewer than a million) solutions out there floating around on the web. Get one of them ..
Or, use Sun's JAI:
Reading BMP:
http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Acquisition.doc.html#62011
Writing BMP:
http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Encode.doc.html#51259
Here is a JAI developer's guide:
http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/index.html