Hi Kim
The idea of the topic is that InputStreams and OutputStreams are based
on layers. Once you have an InputStream, you can read from it through a
filter. For e.g., you can write InputStream in = new
BufferedInputStream( new FileInputStream("filename.txt"));. The
FileInputStream is the actual source of data, but you read it through a
BufferedInputStream that allows a (more efficient) buffered read from
the source, still allowing a byte-by-byte access.
You can extend all this and write:
InputStream in = new MyFilter1Stream( new MyFilter2Stream( new
MyFilter3Stream( new FileInputStream("myfile.txt"))));
where each filter adds something to the reading process. One of them
might, for e.g., convert all the input characters to capital letters.
The same idea applies to OutputStreams. You can have your own filter in
the chain that converts, for e.g., all the dirty words in "***" strings.
The homework is based by a lab exercise that reads from a file, through
and InputStream, and echoes its contents to another one, through an
OutputStream and asks to write other a filter for the input or a filter
for the output that converts all letters to capital letters.
To create your own FilterInputStream, you must override both read
methods (the one that read on byte and the other that reads a buffer) so
that they read from the source InputStream (one byte or a buffer), then
convert the input to capital letters. Analogically, to create your own
FilterOutputStream yo must override all the write methods.
Hope it helps
Mihai
Kim Ching Koh a écrit :
Hi,
Anyone has done this homework can advise?
Regards
KC
On Tue, May 25, 2010 at 2:53 PM, kc <[email protected]
<mailto:[email protected]>> wrote:
Hi,
I am not too sure what is the requirement of the homework for java
stream I/O, is it just to overide read() in the
ChangeToUpperCaseInputStream class so it will convert and return to
uppercase?
1. The homework is to either modify FilterInputOutputStream NetBeans
project you've done in Exercise 8 above or create a new project as
following. (You might want to create a new project by copying the
FilterInputOutputStream project. You can name the homework project in
any way you want but here I am going to call it MyIOStreamProject.)
Write ChangeToUpperCaseInputStream class, which extends
FilterInputStream.
Write ChangeToUpperCaseOutputStream class, which extends
FilterOutputStream.
Use either ChangeToUpperCaseInputStream class or
ChangeToUpperCaseOutputStream class to convert the characters read to
upper case.
Regards
KC
--
To post to this group, send email to
[email protected]
<mailto:[email protected]>
To unsubscribe from this group, send email to
[email protected]
<mailto:javaprogrammingwithpassion%[email protected]>
For more options, visit this group at
http://groups.google.com/group/javaprogrammingwithpassion?hl=en
--
To post to this group, send email to
[email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/javaprogrammingwithpassion?hl=en
--
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/javaprogrammingwithpassion?hl=en