Hey!

Tom, why go through all of this trouble.  Just use RandomAccessFile and forget
all of the stream stuff.  He just wants to find the end of the file.

out.seek(out.length());    //shoosh

Just my two cents worth.  This is all off topic for SERVLET-INTEREST.

Danny Rubis


Tom Kochanowicz wrote:

> Hi Steve,
>
>         I believe you need to use the FileOutputStream in the below manner so that
> it does not erase an existing file, for example:
>
> import file.io.*
>
> public class AltAppendFileOutputStream extends FileOutputStream{
>         protected FileInputStream file;
>
>         public AltAppendFileOutputStream (String fileName) throws IOException{
>                 super((new RandomAccessFile(fileName, "rw")).getFD());
>                 file = new FileInputStream (getFD());
>                 int n = file.available();
>                 do{
>                         n -= file.skip(n);
>                 }
>                 while (n > 0);
>         }
> }
>
> Tom Kochanowicz
>
> -----Original Message-----
> From: A mailing list for discussion about Sun Microsystem's Java Servlet
> API Technology. [mailto:[EMAIL PROTECTED]]On Behalf Of
> Steven Lau
> Sent: Sunday, December 12, 1999 11:07 AM
> To: [EMAIL PROTECTED]
> Subject: logging to text file
>
> I'm doing some custom logging to a text file to make things easier and
> cheaper than to logging to a database.  The servlet would get the header
> information, session Id and so on and attemps to log it to a file.  The
> problem I have is I don't know how to insert it to a file instead of
> overwritting it.  Instead of having multiple entries, it will open the file
> and overwrite what's on it resulting in a file having only one log.
>
> Here is my code:
> try {
>   String outputFileName = "F:" + File.separatorChar + "LLog.txt";
>   FileWriter fout = new FileWriter(outputFileName);
>   String newLine = System.getProperty("line.separator");
>   String data = session.getValue("userID") + ";" + session.getId() + ";" +
> request.getRemoteAddr() + ";" + date + newLine;
>   fout.write(data);
>   fout.close();
>  } catch(java.io.IOException e) {
>   System.out.println("Cannot access LLog.txt");
>  }
>
> How would I modify it so it will insert the log at the end of the file and
> not overwritting previous entries?
>
> Thanks!!!!
>
> ___________________________________________________________________________
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
> of the message "signoff SERVLET-INTEREST".
>
> Archives: http://archives.java.sun.com/archives/servlet-interest.html
> Resources: http://java.sun.com/products/servlet/external-resources.html
> LISTSERV Help: http://www.lsoft.com/manuals/user/user.html
>
> ___________________________________________________________________________
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
> of the message "signoff SERVLET-INTEREST".
>
> Archives: http://archives.java.sun.com/archives/servlet-interest.html
> Resources: http://java.sun.com/products/servlet/external-resources.html
> LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".

Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

Reply via email to