context | - File/Console I/O - | author |
The zio package supports two kinds of File or Console I/O.
InOut.readText, InOut.writeText, InOut.readImage, and InOut.writeImage
These methods are simple to understand and use. You can go very quickly over the I/O ground with them.
Of course, once you have read an entire file, separating it into useful
chunks can be a problem. This, however, is an algorithmic problem and
fits well with an emphasis on algorithms. Also, the Zio
class has
methods that take a string generated by InOut.readText()
and make
return an array of lines or an array of tokens from it. Students must
know about arrays to use these methods. That can be a good thing. Arrays
are important.
If you are teaching a high school AP class, notice that to deemphasize I/O is to emphasize things that are on the exam.
If you use this approach, you will probably want some rudimentary
console I/O as well. Zio.show
and Zio.abort
provide this.
Input
and
Output
classes. With these classes you can use the same methods for
file I/O as for console I/O.Whereas the whole file approach has students doing things with arrays of lines or arrays of tokens (and so on), this approach has students using an I/O loop in a traditional manner.
The attraction here is that you could teach a course that is very
similar to what has been taught for the past three decades. Or, at
least, you could start out that way. If you also teach advanced courses,
you could use Input
and Output
for text I/O between sockets.
One thing that all these I/O methods have in common is that they are not
overloaded in a way that lets students confuse which data type they are
working with. Students will either be working with methods, such as
readInt
, that explicitly say what data type they work with or they
will be dealing with methods that work with String
s.
context | Jul 8, 2005 | author |