This week's book giveaway is in the Mac OS forum. We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line! See this thread for details.
"download managers" keep track of the number of bytes sent to the client and then if the connection is reset, they send a HTTP request asking to restart from the point the previous request stopped. I guess you would need to look closer into this and implement it in Java.