Dipak:

There are some discussions in "Thinking in Java", but not a lot. It does
include a discussion on IO package.


Jeff

-----Original Message-----
From: Dipak Patil [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, August 21, 2002 5:58 PM
To: JDJList
Subject: [jdjlist] RE: Java IO Question


Thanks Hong,

  I was searching the examples (implementations) for
the patterns and here they are. 
Is there any link/site where they explain about the
design patterns, those are implemented in various Java
API/Framework ? (Just as you explained).

  As well as it is also valuable from interview point
of view.

Dipak.


--- "Yan, Hong [IT]" <[EMAIL PROTECTED]> wrote:
> The design of IO pakcage in Java follows two design
> patterns: decorator and
> adatper.
>  
> FileWriter("fileName") wraps a File object into a
> FileWriter stream,
> therefore it is an adapter
> BufferWriter( Writer ) adds buffering capability to
> the Writer, which is a
> decorator pattern
> PrintWriter( Writer) again is a decorator.
>  
> You will also see a symmtry in In and Out, 8bit and
> 16bit. Once you have
> these in mind, you may change your mind toward the
> design of Java io
> package. I would say it is probably the best IO
> package ever designed.
>  
> rgds
>  
> Jeff
> 
> -----Original Message-----
> From: Greg Nudelman [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, August 21, 2002 2:03 PM
> To: JDJList
> Subject: [jdjlist] RE: Java IO Question
> 
> 
> 
> This is one of a few things I find of extreme
> annoyance in Java.  I do not
> think any other modern programming language makes
> you remember:
> 
> new PrintWriter(new BufferedWriter(new
> FileWriter("foo.out"))); 
> 
> just to get a file handle!! (This is one area where
> C syntax may even be
> easier to remember then Java... Scary!) 
> 
> I can never remember the syntax, as I have to write
> to a file maybe 5-6
> times a year. And just imagine being tested on an
> interview by some moron
> who just looked it up himself that very morning.
> ("Greg, how do you
> implement reading the binary file vs. ASCII file in
> Java?")  So, Mr. Bright,
> how often do YOU write that code (without docs and
> Google)?
> 
> Hmmm... Maybe I should just write my own utility
> that I can at least
> remember the syntax for. 
> 
> I'm thinking something like: 
> 
> BufferedFileWriter fw = new
> BufferedFileWriter("foo.out"); 
> fw.write(stringBuffer.toString()); 
> 
> 
> For PrintWriters: 
> 
> PrintingBufferedFileWriter pfw = new
> PrintingBufferedFileWriter("foo.out"); 
> pfw.print(stringBuffer.toString()); 
> 
> To be fair, I guess I have the advantage - I can go
> back and refactor my
> stuff, and I do not need to be v1.0 backward
> compatible...
> 
> Greg 
> 
> 
> -----Original Message----- 
> From: Sashi Guduri [ mailto:[EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]> ] 
> Sent: Wednesday, August 21, 2002 6:14 AM 
> To: JDJList 
> Subject: [jdjlist] RE: Java IO Question 
> 
> 
> "In general, a Writer sends its output immediately
> to the underlying 
> character or byte stream. Unless prompt output is
> required, it is advisable 
> to wrap a BufferedWriter around any Writer whose
> write() operations may be 
> costly, such as FileWriters and OutputStreamWriters.
> For example, 
> 
>  PrintWriter out 
>    = new PrintWriter(new BufferedWriter(new
> FileWriter("foo.out"))); 
>  will buffer the PrintWriter's output to the file.
> Without buffering, each 
> invocation of a print() method would cause
> characters to be converted into 
> bytes that would then be written immediately to the
> file, which can be very 
> inefficient." 
> 
> That was a direct quote from the javadoc for
> BufferedWriter....what happened
> 
> to the old art of RTFM? 
> 
> And also, you want to use StringReader not
> StringBufferInputStream... as it 
> is deprecated..Once again you would have found that
> out if have RTFM 
> 
> Sashi 
> 
> -----Original Message----- 
> From: Abhilash Nair [ mailto:[EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]>
> ] 
> Sent: Wednesday, August 21, 2002 8:48 AM 
> To: JDJList 
> Subject: [jdjlist] RE: Java IO Question 
> 
> 
> Yes Scot. I meant quickest to execute... 
> I've used StringBufferInputStream to read the data 
> from a StringBuffer and a FileWriter to write it on
> to 
> a text file to be stored in the local drive. Will 
> substituting BufferedWriter in place of a FileWriter
> 
> help the performance? Thanks for your suggestion. 
> 
> Regards, 
> Abhi 
> 
> --- Scot Mcphee <[EMAIL PROTECTED]> wrote: 
> > When you say quickest, do you mean quickest to
> code 
> > or quickest to execute? 
> > If you want quickest to execute I would use a 
> > BufferedWriter. Actually I'd 
> > use a BufferedWriter anyway. 
> > 
> > regs 
> > scot. 
> > 
> > > -----Original Message----- 
> > > From: Abhilash Nair [ mailto:[EMAIL PROTECTED]
> <mailto:[EMAIL PROTECTED]> ] 
> > > Sent: Wednesday, 21 August 2002 03:50 
> > > To: JDJList 
> > > Subject: [jdjlist] Java IO Question 
> > > 
> > > 
> > > Hi All: 
> > > 
> > > Could anyone please suggest the fastest and most
> 
> > > efficient way to transfer data from a
> StringBuffer 
> > to 
> > > a text file in the local drive? 
> > > 
> > > Thanks in Advance 
> > > Abhi 
> > > 
> > > ===== 
> > > You can reach me on: 
> > > Weekdays: (617)509-5312 
> > > Weekends and evenings: (781)321-2065 
> > > Pager: (781)553-8323 
> > > Thanks and Regards, 
> > > Nair Abhilash R 
> > > (Abhi) 
> > > 
> > >
> __________________________________________________ 
> > > Do You Yahoo!? 
> > > HotJobs - Search Thousands of New Jobs 
> > > http://www.hotjobs.com <http://www.hotjobs.com> 
> 
> > > 
> > > To change your membership options, refer to: 
> > > http://www.sys-con.com/java/list.cfm
> <http://www.sys-con.com/java/list.cfm>  
> > > 
> > 
> > 
> > To change your membership options, refer to: 
> > http://www.sys-con.com/java/list.cfm
> <http://www.sys-con.com/java/list.cfm>  
> 
> 
> ===== 
> You can reach me on: 
> Weekdays: (617)509-5312 
> 
=== message truncated ===


__________________________________________________
Do You Yahoo!?
HotJobs - Search Thousands of New Jobs
http://www.hotjobs.com

To change your membership options, refer to:
http://www.sys-con.com/java/list.cfm

To change your membership options, refer to:
http://www.sys-con.com/java/list.cfm

Reply via email to