http://java.sun.com/docs/books/tutorial/ never underestimate the strength of Java's official tutorials, they're a lifesaver
http://java.sun.com/javase/6/docs/api/ the API has everything you'll need to know
If you really feel you need a hard copy book, try Head First Java, beginner's love it.
I used to have dozens of programming books. I'd buy a few new ones every month and get rid of old ones. Now the only programming book I have is "The Java Programming Language, Fourth Edition" and I hardly ever use it.
Save the trees! :)
I've read other posts here that suggests 'Head First Java' is a good book on Java. Next, after you are quite familiar with Java, I suggest reading a book such as 'JavaServer Pages' by O'reilly. You can get them cheaper on www.amazon.com than at a bookstore (I suggest only buying and reading one book at a time). J2EE consists of a number of technologies in addition to Java so there is plenty of other books to read. If you want to eventually look into a free development environment, google 'Eclipse WTP'. Good Luck!