public class LockableFileWriter extends Writer
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.
Constructor and Description |
---|
LockableFileWriter(File file)
Constructs a LockableFileWriter.
|
LockableFileWriter(File file,
boolean append)
Constructs a LockableFileWriter.
|
LockableFileWriter(File file,
boolean append,
String lockDir)
Deprecated.
2.5 use
LockableFileWriter(File, Charset, boolean, String) instead |
LockableFileWriter(File file,
Charset charset)
Constructs a LockableFileWriter with a file encoding.
|
LockableFileWriter(File file,
Charset charset,
boolean append,
String lockDir)
Constructs a LockableFileWriter with a file encoding.
|
LockableFileWriter(File file,
String charsetName)
Constructs a LockableFileWriter with a file encoding.
|
LockableFileWriter(File file,
String charsetName,
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.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes the file writer and deletes the lock file.
|
void |
flush()
Flushes the stream.
|
void |
write(char[] cbuf)
Writes the characters from an array.
|
void |
write(char[] cbuf,
int off,
int len)
Writes the specified characters from an array.
|
void |
write(int c)
Writes a character.
|
void |
write(String str)
Writes the characters from a string.
|
void |
write(String str,
int off,
int len)
Writes the specified characters from a string.
|
public LockableFileWriter(String fileName) throws IOException
fileName
- the file to write to, not nullNullPointerException
- if the file is nullIOException
- in case of an I/O errorpublic LockableFileWriter(String fileName, boolean append) throws IOException
fileName
- file to write to, not nullappend
- true if content should be appended, false to overwriteNullPointerException
- if the file is nullIOException
- in case of an I/O errorpublic LockableFileWriter(String fileName, boolean append, String lockDir) throws 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 heldNullPointerException
- if the file is nullIOException
- in case of an I/O errorpublic LockableFileWriter(File file) throws IOException
file
- the file to write to, not nullNullPointerException
- if the file is nullIOException
- in case of an I/O errorpublic LockableFileWriter(File file, boolean append) throws IOException
file
- the file to write to, not nullappend
- true if content should be appended, false to overwriteNullPointerException
- if the file is nullIOException
- in case of an I/O error@Deprecated public LockableFileWriter(File file, boolean append, String lockDir) throws IOException
LockableFileWriter(File, Charset, boolean, String)
insteadfile
- 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 heldNullPointerException
- if the file is nullIOException
- in case of an I/O errorpublic LockableFileWriter(File file, Charset charset) throws IOException
file
- the file to write to, not nullcharset
- the charset to use, null means platform defaultNullPointerException
- if the file is nullIOException
- in case of an I/O errorpublic LockableFileWriter(File file, String charsetName) throws IOException
file
- the file to write to, not nullcharsetName
- the name of the requested charset, null means platform defaultNullPointerException
- if the file is nullIOException
- in case of an I/O errorUnsupportedCharsetException
- thrown instead of UnsupportedEncodingException
in version 2.2 if the encoding is not
supported.public LockableFileWriter(File file, Charset charset, boolean append, String lockDir) throws IOException
file
- the file to write to, not nullcharset
- the name of the requested charset, null means platform defaultappend
- true if content should be appended, false to overwritelockDir
- the directory in which the lock file should be heldNullPointerException
- if the file is nullIOException
- in case of an I/O errorpublic LockableFileWriter(File file, String charsetName, boolean append, String lockDir) throws IOException
file
- the file to write to, not nullcharsetName
- 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 heldNullPointerException
- if the file is nullIOException
- in case of an I/O errorUnsupportedCharsetException
- thrown instead of UnsupportedEncodingException
in version 2.2 if the encoding is not
supported.public void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
close
in class Writer
IOException
- if an I/O error occurs.public void write(int c) throws IOException
write
in class Writer
c
- the character to writeIOException
- if an I/O error occurs.public void write(char[] cbuf) throws IOException
write
in class Writer
cbuf
- the characters to writeIOException
- if an I/O error occurs.public void write(char[] cbuf, int off, int len) throws IOException
write
in class Writer
cbuf
- the characters to writeoff
- The start offsetlen
- The number of characters to writeIOException
- if an I/O error occurs.public void write(String str) throws IOException
write
in class Writer
str
- the string to writeIOException
- if an I/O error occurs.public void write(String str, int off, int len) throws IOException
write
in class Writer
str
- the string to writeoff
- The start offsetlen
- The number of characters to writeIOException
- if an I/O error occurs.public void flush() throws IOException
flush
in interface Flushable
flush
in class Writer
IOException
- if an I/O error occurs.Copyright © 2002–2021 The Apache Software Foundation. All rights reserved.