public class LocalDataOutputStream extends FSDataOutputStream
LocalDataOutputStream class is a wrapper class for a data
output stream to the local file system.| Constructor and Description |
|---|
LocalDataOutputStream(java.io.File file)
Constructs a new
LocalDataOutputStream object from a given File object. |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes the output stream.
|
void |
flush()
Flushes the stream, writing any data currently buffered in stream implementation
to the proper output stream.
|
java.nio.channels.FileChannel |
getChannel() |
long |
getPos()
Gets the position of the stream (non-negative), defined as the number of bytes
from the beginning of the file to the current writing position.
|
void |
sync()
Flushes the data all the way to the persistent non-volatile storage (for example disks).
|
void |
write(byte[] b,
int off,
int len) |
void |
write(java.nio.ByteBuffer byteBuffer) |
void |
write(int b) |
public LocalDataOutputStream(java.io.File file)
throws java.io.IOException
LocalDataOutputStream object from a given File object.file - the File object the data stream is read fromjava.io.IOException - thrown if the data output stream cannot be createdpublic void write(int b)
throws java.io.IOException
write in class java.io.OutputStreamjava.io.IOExceptionpublic void write(byte[] b,
int off,
int len)
throws java.io.IOException
write in class java.io.OutputStreamjava.io.IOExceptionpublic void close()
throws java.io.IOException
FSDataOutputStreamclass-level docs.
The above implies that the method must block until persistence can be guaranteed.
For example for distributed replicated file systems, the method must block until the
replication quorum has been reached. If the calling thread is interrupted in the
process, it must fail with an IOException to indicate that persistence cannot
be guaranteed.
If this method throws an exception, the data in the stream cannot be assumed to be persistent.
Implementation note: This overrides the method defined in OutputStream
as abstract to force implementations of the FSDataOutputStream to implement
this method directly.
close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in class FSDataOutputStreamjava.io.IOException - Thrown, if an error occurred while closing the stream or guaranteeing
that the data is persistent.public void write(java.nio.ByteBuffer byteBuffer)
throws java.io.IOException
write in class FSDataOutputStreamjava.io.IOExceptionpublic void flush()
throws java.io.IOException
FSDataOutputStream
A completed flush does not mean that the data is necessarily persistent. Data
persistence can is only assumed after calls to FSDataOutputStream.close() or FSDataOutputStream.sync().
Implementation note: This overrides the method defined in OutputStream
as abstract to force implementations of the FSDataOutputStream to implement
this method directly.
flush in interface java.io.Flushableflush in class FSDataOutputStreamjava.io.IOException - Thrown if an I/O error occurs while flushing the stream.public void sync()
throws java.io.IOException
FSDataOutputStream
sync in class FSDataOutputStreamjava.io.IOException - Thrown if an I/O error occurspublic long getPos()
throws java.io.IOException
FSDataOutputStream
This method must report accurately report the current position of the stream. Various components of the high-availability and recovery logic rely on the accurate
getPos in class FSDataOutputStreamjava.io.IOException - Thrown if an I/O error occurs while obtaining the position from
the stream implementation.public java.nio.channels.FileChannel getChannel()
getChannel in class FSDataOutputStream