Dana,
It's abstract because the FileSystem class itself is abstract. That just means that someone down the chain needs to implement it. As an example, UnixFileSystem provides an implementation. As does any other class you get returned and use in a FileSystem variable.