This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
Remember, a java.io.File doesn't represent a "file", really; it represents a path to a file. When you call methods like renameTo() or size(), they look onto the file system at the corresponding path, and they won't work unless the file exists. But you can create a java.io.File to represent completely nonexistent paths, and that's perfectly OK.