You would use the javax.imageio.ImageIO class to read and write images from files. That would provide you with a BufferedImage object which you can either manipulate directly (through the getRGB and setRGB methods), or you can access its Raster (through the getRaster method), which gives you more ways to manipulate the image.
Note that the values handled by getRGB and setRGB contain all data for a single pixel in one integer: red value, blue value, green value, and alpha value (if the image has one). So if you intend to do work on the individual pixel values, you'll have to extract those values from the integer, transform them as desired, and then put them back together.
This will also help:
http://download.oracle.com/javase/tutorial/2d/images/index.html It explains how to perform higher-order image manipulations like drawing geometric shapes.