org.apache.commons.io.output
Class LockableFileWriter

java.lang.Object
  extended byjava.io.Writer
      extended byorg.apache.commons.io.output.LockableFileWriter

public class LockableFileWriter
extends Writer

FileWriter that will create and honor lock files to allow simple cross thread file lock handling.

This class provides a simple alternative to FileWriter that will use a lock file to prevent duplicate writes.

By default, the file will be overwritten, but this may be changed to append. The lock directory may be specified, but defaults to the system property java.io.tmpdir. The encoding may also be specified, and defaults to the platform default.

Version:
$Id: LockableFileWriter.java 385293 2006-03-12 15:11:19Z scolebourne $

Field Summary
 
Fields inherited from class java.io.Writer
lock
 
Constructor Summary
LockableFileWriter(File file)
          Constructs a LockableFileWriter.
LockableFileWriter(File file, boolean append)
          Constructs a LockableFileWriter.
LockableFileWriter(File file, boolean append, String lockDir)
          Constructs a LockableFileWriter.
LockableFileWriter(File file, String encoding)
          Constructs a LockableFileWriter with a file encoding.
LockableFileWriter(File file, String encoding, boolean append, String lockDir)
          Constructs a LockableFileWriter with a file encoding.
LockableFileWriter(String fileName)
          Constructs a LockableFileWriter.
LockableFileWriter(String fileName, boolean append)
          Constructs a LockableFileWriter.
LockableFileWriter(String fileName, boolean append, String lockDir)
          Constructs a LockableFileWriter.
 
Method Summary
 void close()
          Closes the file writer.
 void flush()
           
 void write(char[] chr)
           
 void write(char[] chr, int st, int end)
           
 void write(int idx)
           
 void write(String str)
           
 void write(String str, int st, int end)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LockableFileWriter

public LockableFileWriter(String fileName)
                   throws IOException
Constructs a LockableFileWriter. If the file exists, it is overwritten.

Parameters:
fileName - the file to write to, not null
Throws:
NullPointerException - if the file is null
IOException - in case of an I/O error

LockableFileWriter

public LockableFileWriter(String fileName,
                          boolean append)
                   throws IOException
Constructs a LockableFileWriter.

Parameters:
fileName - file to write to, not null
append - true if content should be appended, false to overwrite
Throws:
NullPointerException - if the file is null
IOException - in case of an I/O error

LockableFileWriter

public LockableFileWriter(String fileName,
                          boolean append,
                          String lockDir)
                   throws IOException
Constructs a LockableFileWriter.

Parameters:
fileName - the file to write to, not null
append - true if content should be appended, false to overwrite
lockDir - the directory in which the lock file should be held
Throws:
NullPointerException - if the file is null
IOException - in case of an I/O error

LockableFileWriter

public LockableFileWriter(File file)
                   throws IOException
Constructs a LockableFileWriter. If the file exists, it is overwritten.

Parameters:
file - the file to write to, not null
Throws:
NullPointerException - if the file is null
IOException - in case of an I/O error

LockableFileWriter

public LockableFileWriter(File file,
                          boolean append)
                   throws IOException
Constructs a LockableFileWriter.

Parameters:
file - the file to write to, not null
append - true if content should be appended, false to overwrite
Throws:
NullPointerException - if the file is null
IOException - in case of an I/O error

LockableFileWriter

public LockableFileWriter(File file,
                          boolean append,
                          String lockDir)
                   throws IOException
Constructs a LockableFileWriter.

Parameters:
file - the file to write to, not null
append - true if content should be appended, false to overwrite
lockDir - the directory in which the lock file should be held
Throws:
NullPointerException - if the file is null
IOException - in case of an I/O error

LockableFileWriter

public LockableFileWriter(File file,
                          String encoding)
                   throws IOException
Constructs a LockableFileWriter with a file encoding.

Parameters:
file - the file to write to, not null
encoding - the encoding to use, null means platform default
Throws:
NullPointerException - if the file is null
IOException - in case of an I/O error

LockableFileWriter

public LockableFileWriter(File file,
                          String encoding,
                          boolean append,
                          String lockDir)
                   throws IOException
Constructs a LockableFileWriter with a file encoding.

Parameters:
file - the file to write to, not null
encoding - the encoding to use, null means platform default
append - true if content should be appended, false to overwrite
lockDir - the directory in which the lock file should be held
Throws:
NullPointerException - if the file is null
IOException - in case of an I/O error
Method Detail

close

public void close()
           throws IOException
Closes the file writer.

Throws:
IOException - if an I/O error occurs

write

public void write(int idx)
           throws IOException
Throws:
IOException
See Also:
Writer.write(int)

write

public void write(char[] chr)
           throws IOException
Throws:
IOException
See Also:
Writer.write(char[])

write

public void write(char[] chr,
                  int st,
                  int end)
           throws IOException
Throws:
IOException
See Also:
Writer.write(char[], int, int)

write

public void write(String str)
           throws IOException
Throws:
IOException
See Also:
Writer.write(String)

write

public void write(String str,
                  int st,
                  int end)
           throws IOException
Throws:
IOException
See Also:
Writer.write(String, int, int)

flush

public void flush()
           throws IOException
Throws:
IOException
See Also:
Writer.flush()


Copyright © 2002-2006 The Apache Software Foundation. All Rights Reserved.