Package org.apache.commons.io.output
Class LockableFileWriter
java.lang.Object
java.io.Writer
org.apache.commons.io.output.LockableFileWriter
- All Implemented Interfaces:
- Closeable,- Flushable,- Appendable,- AutoCloseable
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.
 
 Note: The lock file is deleted when close() is called - or if the main file cannot be opened initially. In the (unlikely) event
 that the lock file cannot be deleted, an exception is thrown.
 
 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.
 
 To build an instance, use LockableFileWriter.Builder.
 
- See Also:
- 
Nested Class SummaryNested Classes
- 
Field Summary
- 
Constructor SummaryConstructorsConstructorDescriptionLockableFileWriter(File file) Deprecated.LockableFileWriter(File file, boolean append) Deprecated.LockableFileWriter(File file, boolean append, String lockDir) Deprecated.LockableFileWriter(File file, String charsetName) Deprecated.LockableFileWriter(File file, String charsetName, boolean append, String lockDir) Deprecated.LockableFileWriter(File file, Charset charset) Deprecated.LockableFileWriter(File file, Charset charset, boolean append, String lockDir) Deprecated.LockableFileWriter(String fileName) Deprecated.LockableFileWriter(String fileName, boolean append) Deprecated.LockableFileWriter(String fileName, boolean append, String lockDir) Deprecated.
- 
Method SummaryModifier and TypeMethodDescriptionstatic LockableFileWriter.Builderbuilder()Constructs a newLockableFileWriter.Builder.voidclose()Closes the file writer and deletes the lock file.voidflush()Flushes the stream.voidwrite(char[] cbuf) Writes the characters from an array.voidwrite(char[] cbuf, int off, int len) Writes the specified characters from an array.voidwrite(int c) Writes a character.voidWrites the characters from a string.voidWrites the specified characters from a string.
- 
Constructor Details- 
LockableFileWriterDeprecated.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
 
- 
LockableFileWriterDeprecated.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
 
- 
LockableFileWriterDeprecated.Constructs a LockableFileWriter.The new instance uses the virtual machine's default charset.- 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
 
- 
LockableFileWriterDeprecated.Constructs a LockableFileWriter with a file encoding.- Parameters:
- file- the file to write to, not null
- charset- the charset to use, null means platform default
- Throws:
- NullPointerException- if the file is null
- IOException- in case of an I/O error
- Since:
- 2.3
 
- 
LockableFileWriter@Deprecated public LockableFileWriter(File file, Charset charset, boolean append, String lockDir) throws IOException Deprecated.Constructs a LockableFileWriter with a file encoding.- Parameters:
- file- the file to write to, not null
- charset- the name of the requested charset, 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
- Since:
- 2.3
 
- 
LockableFileWriterDeprecated.Constructs a LockableFileWriter with a file encoding.- Parameters:
- file- the file to write to, not null
- charsetName- the name of the requested charset, null means platform default
- Throws:
- NullPointerException- if the file is null
- IOException- in case of an I/O error
- UnsupportedCharsetException- thrown instead of- UnsupportedEncodingExceptionin version 2.2 if the encoding is not supported.
 
- 
LockableFileWriter@Deprecated public LockableFileWriter(File file, String charsetName, boolean append, String lockDir) throws IOException Deprecated.Constructs a LockableFileWriter with a file encoding.- Parameters:
- file- the file to write to, not null
- charsetName- 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
- UnsupportedCharsetException- thrown instead of- UnsupportedEncodingExceptionin version 2.2 if the encoding is not supported.
 
- 
LockableFileWriterDeprecated.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
 
- 
LockableFileWriterDeprecated.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@Deprecated public LockableFileWriter(String fileName, boolean append, String lockDir) throws IOException Deprecated.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
 
 
- 
- 
Method Details- 
builderConstructs a newLockableFileWriter.Builder.- Returns:
- a new LockableFileWriter.Builder.
- Since:
- 2.12.0
 
- 
closeCloses the file writer and deletes the lock file.- Specified by:
- closein interface- AutoCloseable
- Specified by:
- closein interface- Closeable
- Specified by:
- closein class- Writer
- Throws:
- IOException- if an I/O error occurs.
 
- 
flushFlushes the stream.- Specified by:
- flushin interface- Flushable
- Specified by:
- flushin class- Writer
- Throws:
- IOException- if an I/O error occurs.
 
- 
writeWrites the characters from an array.- Overrides:
- writein class- Writer
- Parameters:
- cbuf- the characters to write
- Throws:
- IOException- if an I/O error occurs.
 
- 
writeWrites the specified characters from an array.- Specified by:
- writein class- Writer
- Parameters:
- cbuf- the characters to write
- off- The start offset
- len- The number of characters to write
- Throws:
- IOException- if an I/O error occurs.
 
- 
writeWrites a character.- Overrides:
- writein class- Writer
- Parameters:
- c- the character to write
- Throws:
- IOException- if an I/O error occurs.
 
- 
writeWrites the characters from a string.- Overrides:
- writein class- Writer
- Parameters:
- str- the string to write
- Throws:
- IOException- if an I/O error occurs.
 
- 
writeWrites the specified characters from a string.- Overrides:
- writein class- Writer
- Parameters:
- str- the string to write
- off- The start offset
- len- The number of characters to write
- Throws:
- IOException- if an I/O error occurs.
 
 
- 
builder(),LockableFileWriter.Builder, andLockableFileWriter.Builder.get()