[Ryan Waggoner: ] The problem is, I do not know what a block is. I dont know if it is figurative or literal. The definition of exactly what a block is leads into discussions that can be dicey to work through. In general,a block is something you define or work with yourself, in code, and no matter how many critics lead you to superficial solutions to your question, only write some code and
test it will provide meaningful, reliable answers that you can use for later thought.
A block is some sort of portion of the file. Files do not have intrinsic blocks, from
Java's viewpoint. Anytime you hear the
word block, you need to consider the possibility that there are
two blind cooks in the kitchen, in which case you get wording like that in the comments on the short code snippet above.
The entire purpose of creating some sort of block - as in FileBlock, or any other representation of this idea - is that there appears often in real practice a need to set some portion of a file apart for work by the program. There can be other programs running. If two or more programs write to a file, they may change the file while another program is reading the file.
The result may look funny to the student. It looks hideous to someone who paid money for the machine to do some work in a real business.