|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjava.io.Writer
org.apache.commons.io.output.LockableFileWriter
public class LockableFileWriter
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.
| Field Summary | |
|---|---|
private static java.lang.String |
LCK
The extension for the lock file. |
private java.io.File |
lockFile
The lock file. |
private java.io.Writer |
out
The writer to decorate. |
| Fields inherited from class java.io.Writer |
|---|
lock |
| Constructor Summary | |
|---|---|
LockableFileWriter(java.io.File file)
Constructs a LockableFileWriter. |
|
LockableFileWriter(java.io.File file,
boolean append)
Constructs a LockableFileWriter. |
|
LockableFileWriter(java.io.File file,
boolean append,
java.lang.String lockDir)
Constructs a LockableFileWriter. |
|
LockableFileWriter(java.io.File file,
java.lang.String encoding)
Constructs a LockableFileWriter with a file encoding. |
|
LockableFileWriter(java.io.File file,
java.lang.String encoding,
boolean append,
java.lang.String lockDir)
Constructs a LockableFileWriter with a file encoding. |
|
LockableFileWriter(java.lang.String fileName)
Constructs a LockableFileWriter. |
|
LockableFileWriter(java.lang.String fileName,
boolean append)
Constructs a LockableFileWriter. |
|
LockableFileWriter(java.lang.String fileName,
boolean append,
java.lang.String lockDir)
Constructs a LockableFileWriter. |
|
| Method Summary | |
|---|---|
void |
close()
Closes the file writer. |
private void |
createLock()
Creates the lock file. |
void |
flush()
Flush the stream. |
private java.io.Writer |
initWriter(java.io.File file,
java.lang.String encoding,
boolean append)
Initialise the wrapped file writer. |
private void |
testLockDir(java.io.File lockDir)
Tests that we can write to the lock directory. |
void |
write(char[] chr)
Write the characters from an array. |
void |
write(char[] chr,
int st,
int end)
Write the specified characters from an array. |
void |
write(int idx)
Write a character. |
void |
write(java.lang.String str)
Write the characters from a string. |
void |
write(java.lang.String str,
int st,
int end)
Write the specified characters from a string. |
| Methods inherited from class java.io.Writer |
|---|
append, append, append |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private static final java.lang.String LCK
private final java.io.Writer out
private final java.io.File lockFile
| Constructor Detail |
|---|
public LockableFileWriter(java.lang.String fileName)
throws java.io.IOException
fileName - the file to write to, not null
java.lang.NullPointerException - if the file is null
java.io.IOException - in case of an I/O error
public LockableFileWriter(java.lang.String fileName,
boolean append)
throws java.io.IOException
fileName - file to write to, not nullappend - true if content should be appended, false to overwrite
java.lang.NullPointerException - if the file is null
java.io.IOException - in case of an I/O error
public LockableFileWriter(java.lang.String fileName,
boolean append,
java.lang.String lockDir)
throws java.io.IOException
fileName - the file to write to, not nullappend - true if content should be appended, false to overwritelockDir - the directory in which the lock file should be held
java.lang.NullPointerException - if the file is null
java.io.IOException - in case of an I/O error
public LockableFileWriter(java.io.File file)
throws java.io.IOException
file - the file to write to, not null
java.lang.NullPointerException - if the file is null
java.io.IOException - in case of an I/O error
public LockableFileWriter(java.io.File file,
boolean append)
throws java.io.IOException
file - the file to write to, not nullappend - true if content should be appended, false to overwrite
java.lang.NullPointerException - if the file is null
java.io.IOException - in case of an I/O error
public LockableFileWriter(java.io.File file,
boolean append,
java.lang.String lockDir)
throws java.io.IOException
file - the file to write to, not nullappend - true if content should be appended, false to overwritelockDir - the directory in which the lock file should be held
java.lang.NullPointerException - if the file is null
java.io.IOException - in case of an I/O error
public LockableFileWriter(java.io.File file,
java.lang.String encoding)
throws java.io.IOException
file - the file to write to, not nullencoding - the encoding to use, null means platform default
java.lang.NullPointerException - if the file is null
java.io.IOException - in case of an I/O error
public LockableFileWriter(java.io.File file,
java.lang.String encoding,
boolean append,
java.lang.String lockDir)
throws java.io.IOException
file - the file to write to, not nullencoding - the encoding to use, null means platform defaultappend - true if content should be appended, false to overwritelockDir - the directory in which the lock file should be held
java.lang.NullPointerException - if the file is null
java.io.IOException - in case of an I/O error| Method Detail |
|---|
private void testLockDir(java.io.File lockDir)
throws java.io.IOException
lockDir - the File representing the lock directory
java.io.IOException - if we cannot write to the lock directory
java.io.IOException - if we cannot find the lock file
private void createLock()
throws java.io.IOException
java.io.IOException - if we cannot create the file
private java.io.Writer initWriter(java.io.File file,
java.lang.String encoding,
boolean append)
throws java.io.IOException
file - the file to be accessedencoding - the encoding to useappend - true to append
java.io.IOException - if an error occurs
public void close()
throws java.io.IOException
close in interface java.io.Closeableclose in class java.io.Writerjava.io.IOException - if an I/O error occurs
public void write(int idx)
throws java.io.IOException
write in class java.io.Writeridx - the character to write
java.io.IOException - if an I/O error occurs
public void write(char[] chr)
throws java.io.IOException
write in class java.io.Writerchr - the characters to write
java.io.IOException - if an I/O error occurs
public void write(char[] chr,
int st,
int end)
throws java.io.IOException
write in class java.io.Writerchr - the characters to writest - The start offsetend - The number of characters to write
java.io.IOException - if an I/O error occurs
public void write(java.lang.String str)
throws java.io.IOException
write in class java.io.Writerstr - the string to write
java.io.IOException - if an I/O error occurs
public void write(java.lang.String str,
int st,
int end)
throws java.io.IOException
write in class java.io.Writerstr - the string to writest - The start offsetend - The number of characters to write
java.io.IOException - if an I/O error occurs
public void flush()
throws java.io.IOException
flush in interface java.io.Flushableflush in class java.io.Writerjava.io.IOException - if an I/O error occurs
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||