• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

I/O package

 
Ranch Hand
Posts: 18944
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I copied this from the "synthesized objectives" posted at Tony Alicea's site:
Write code that uses objects of the file class to navigate a file system. Write code that uses objects of the classes InputStreamReader and OutputStreamWriter to translate between
Unicode and either platform default or ISO 8859-1 character encodings. Distinguish between conditions under which platform default encoding conversion should be used and conditions under which a specific conversion should be used. Select valid constructor arguments for FilterInputStream and FilterOutputStream subclasses from a list of classes in the
java.io.package. Write appropriate code to read, write and update files using FileInputStream, FileOutputStream, and RandomAccessFile objects. Describe the permanent
effects on the file system of constructing and using FileInputStream, FileOutputStream, and RandomAccessFile.
Well thats quite a mouthful. I've been told that as far as the test goes one should be familiar with the main types of classes, what they are used for and their constructors. I created a little cheat sheet breaking down the categories and sorting them by the types of constructors they use.
The whole I/O package can seem very daunting at first but I think this should help:
Class (Constructors)
File (String)
(String parent, String child)
(File parent, String child)
Remember that a File object is used as a parameter from which the other I/O objects are ultimately built in most cases. So I liked to use this class as my starting point. And of course the File class has a lot of methods for navigating and manipulating the host file system with which you should develop some familiarity.
Class (Constructors)
FileOutputStream (File)
FileInputStream (FileDescriptor)
FileReader (String)
FileWriter (String, boolean append) - valid for output/
writers only
The classes on the left can use any of the constructor arguments
on the right except where noted. Just remember if the class starts with the word "File" then any of the constructors mentioned above are valid.
BufferedInputStream (InputStream)
(InputStream, int size) - where size =
buffer size
BufferedReader - same as above, just substitute Reader for InputStream.
BufferedOutputStream and BufferedWriter same as above, just substitute Output/Writer where appropriate. If the class starts with the word Buffered then use the constructors described above
ObjectInputStream (InputStream)
DataInputStream
FilterInputStream
All of the above take an InputStream as the argument for the only constructor available to build such a stream. For the Output streams just substitute Output for Input.
All of the remaining streams take constructors as described above with the exception of:
InputStreamReader (InputStream)
(InputStream, String encoding)
again same for OutputStreamWriter (thanks Maha) just substitute Output for Input. Get familiar with the encoding for the ASCII character set.
RandomAccessFile (File, String mode)
(String name, String mode)
values for mode can be "r" or "rw" ONLY!
FilterReader and Writer
InputStream and OutputStream
Reader and Writer
All of the above are abstract and cannot be instantiated.
I think this should cover the main classes you are likely to see on the exam. Remember you can chain the classes together in lots of cases to build objects of the higher level classes. Hopefully this breakdown should make it easier to get your arms around the subject.

Tony, Jim, anyone else: if you see any glaring errors or omissions please let me know and I will correct it.

[This message has been edited by Joe Java (edited March 12, 2000).]
[This message has been edited by Joe Java (edited March 12, 2000).]
 
Ranch Hand
Posts: 1467
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Joe, Your breakdown of I/O package is really good. One small correction. Just change the OutputStream reader to OutputStreamWriter. There is no class called OutputStreamReader.
regds
maha anna
From Joe's post
InputStreamReader (InputStream)
(InputStream, String encoding)
again same for OutputStream reader just substitute Output for Input. Get familiar with the encoding for the ASCII character set.


[This message has been edited by maha anna (edited March 12, 2000).]
 
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
This is great Joe.
Thanks a lot.

Rgds
Divakar
 
Anonymous
Ranch Hand
Posts: 18944
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Joe, this listing is very helpful! and I appreciate for posting it here.
Thanks..
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic