Programming in the abstract can sometimes be entertaining, but without the ability to get data into and back out of your program, they are pretty much useless.
There are a few core concepts that you need to understand well to do Input/Output in Java. The first of these is exceptions which, fortunately, we've just covered 1. With all IO things can (and do) go wrong. You also need to do know about streams and filters; in Java IO, you will spend lots of time putting on stream inside another. And you'll need to think about performance; IO can be very slow. In general, you work around this by "buffering".
Please read the IO Trail and attempt both exercises.
You need to gain practical experience of using version control. So, from today onwards, you should check all of your code into subversion. The best way to use version control is to check in everytime you get a new piece of functionality working; it's a tool for you to develop against, not somewhere to drop your code when it's complete.
The location of the subversion server is:
https://svn.cs.ncl.ac.uk/bioinformatics
You should be able to login with your standard university login.
You should find a directory called "2008". Create a new directory for yourself under this, with the same name as your user id. You can then check all your code here. Please keep it up to date and check more code in as you go.
1. You would almost think it was planned!