Class FileOutputStream
- All Implemented Interfaces:
Proxy
,AutoCloseable
,AutoCloseable
,Seekable
GFileOutputStream
provides output streams that write their
content to a file.
GFileOutputStream
implements Seekable
, which allows the output
stream to jump to arbitrary positions in the file and to truncate
the file, provided the filesystem of the file supports these
operations.
To find the position of a file output stream, use Seekable.tell()
.
To find out if a file output stream supports seeking, use
Seekable.canSeek()
.To position a file output stream, use
Seekable.seek(long, org.gnome.glib.SeekType, org.gnome.gio.Cancellable)
. To find out if a file output stream supports
truncating, use Seekable.canTruncate()
. To truncate a file output
stream, use Seekable.truncate(long, org.gnome.gio.Cancellable)
.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
FileOutputStream.Builder<B extends FileOutputStream.Builder<B>>
Inner class implementing a builder pattern to construct a GObject with properties.static class
Nested classes/interfaces inherited from class org.gnome.gio.OutputStream
OutputStream.OutputStreamClass, OutputStream.OutputStreamImpl
Nested classes/interfaces inherited from class org.gnome.gobject.GObject
GObject.NotifyCallback, GObject.ObjectClass
Nested classes/interfaces inherited from interface org.gnome.gio.Seekable
Seekable.SeekableIface, Seekable.SeekableImpl
-
Constructor Summary
ConstructorDescriptionFileOutputStream
(MemorySegment address) Create a FileOutputStream proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected FileOutputStream
asParent()
Returns this instance as if it were its parent type.static FileOutputStream.Builder
<? extends FileOutputStream.Builder> builder()
AFileOutputStream.Builder
object constructs aFileOutputStream
with the specified properties.getEtag()
Gets the entity tag for the file when it has been written.static MemoryLayout
The memory layout of the native struct.static Type
getType()
Get the GType of the FileOutputStream classqueryInfo
(String attributes, @Nullable Cancellable cancellable) Queries a file output stream for the givenattributes
.void
queryInfoAsync
(String attributes, int ioPriority, @Nullable Cancellable cancellable, @Nullable AsyncReadyCallback callback) Asynchronously queries the this FileOutputStream for aGFileInfo
.queryInfoFinish
(AsyncResult result) Finalizes the asynchronous query started by g_file_output_stream_query_info_async().protected boolean
truncateFn
(long size, @Nullable Cancellable cancellable) Methods inherited from class org.gnome.gio.OutputStream
clearPending, close, closeAsync, closeFinish, closeFn, flush, flushAsync, flushFinish, hasPending, isClosed, isClosing, printf, setPending, splice, splice, spliceAsync, spliceAsync, spliceFinish, write, writeAll, writeAllAsync, writeAllFinish, writeAsync, writeBytes, writeBytesAsync, writeBytesFinish, writeFinish, writev, writevAll, writevAllAsync, writevAllFinish, writevAsync, writevFinish
Methods inherited from class org.gnome.gobject.GObject
addToggleRef, addWeakPointer, bindProperty, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, connect, constructed, disconnect, dispatchPropertiesChanged, dispose, dupData, dupQdata, emit, emitNotify, finalize_, forceFloating, freezeNotify, get, getData, getProperty, getProperty, getProperty, getQdata, getv, interfaceFindProperty, interfaceInstallProperty, interfaceListProperties, isFloating, newInstance, newInstance, newInstance, newInstance, newv, notify_, notify_, notifyByPspec, onNotify, ref, refSink, removeToggleRef, removeWeakPointer, replaceData, replaceQdata, runDispose, set, setData, setDataFull, setProperty, setProperty, setProperty, setQdata, setQdataFull, setv, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref, withProperties
Methods inherited from class org.gnome.gobject.TypeInstance
callParent, callParent, getPrivate, readGClass, writeGClass
Methods inherited from class io.github.jwharm.javagi.base.ProxyInstance
equals, handle, hashCode
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.github.jwharm.javagi.gio.AutoCloseable
close
-
Constructor Details
-
FileOutputStream
Create a FileOutputStream proxy instance for the provided memory address.- Parameters:
address
- the memory address of the native object
-
-
Method Details
-
getType
-
getMemoryLayout
The memory layout of the native struct.- Returns:
- the memory layout
-
asParent
Returns this instance as if it were its parent type. This is mostly synonymous to the Javasuper
keyword, but will set the native typeclass function pointers to the parent type. When overriding a native virtual method in Java, "chaining up" withsuper.methodName()
doesn't work, because it invokes the overridden function pointer again. To chain up, callasParent().methodName()
. This will call the native function pointer of this virtual method in the typeclass of the parent type.- Overrides:
asParent
in classOutputStream
-
getEtag
Gets the entity tag for the file when it has been written. This must be called after the stream has been written and closed, as the etag can change while writing.- Returns:
- the entity tag for the stream.
-
queryInfo
public FileInfo queryInfo(String attributes, @Nullable @Nullable Cancellable cancellable) throws GErrorException Queries a file output stream for the givenattributes
. This function blocks while querying the stream. For the asynchronous version of this function, see g_file_output_stream_query_info_async(). While the stream is blocked, the stream will set the pending flag internally, and any other operations on the stream will fail withIOErrorEnum.PENDING
.Can fail if the stream was already closed (with
error
being set toIOErrorEnum.CLOSED
), the stream has pending operations (witherror
being set toIOErrorEnum.PENDING
), or if querying info is not supported for the stream's interface (witherror
being set toIOErrorEnum.NOT_SUPPORTED
). In all cases of failure,null
will be returned.If
cancellable
is notnull
, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the errorIOErrorEnum.CANCELLED
will be set, andnull
will be returned.- Parameters:
attributes
- a file attribute query string.cancellable
- optionalGCancellable
object,null
to ignore.- Returns:
- a
GFileInfo
for the this FileOutputStream, ornull
on error. - Throws:
GErrorException
- seeGError
-
queryInfoAsync
public void queryInfoAsync(String attributes, int ioPriority, @Nullable @Nullable Cancellable cancellable, @Nullable @Nullable AsyncReadyCallback callback) Asynchronously queries the this FileOutputStream for aGFileInfo
. When completed,callback
will be called with aGAsyncResult
which can be used to finish the operation with g_file_output_stream_query_info_finish().For the synchronous version of this function, see g_file_output_stream_query_info().
- Parameters:
attributes
- a file attribute query string.ioPriority
- the I/O priority of the requestcancellable
- optionalGCancellable
object,null
to ignore.callback
- callback to call when the request is satisfied
-
queryInfoFinish
Finalizes the asynchronous query started by g_file_output_stream_query_info_async().- Parameters:
result
- aGAsyncResult
.- Returns:
- A
GFileInfo
for the finished query. - Throws:
GErrorException
- seeGError
-
truncateFn
protected boolean truncateFn(long size, @Nullable @Nullable Cancellable cancellable) throws GErrorException - Throws:
GErrorException
-
builder
AFileOutputStream.Builder
object constructs aFileOutputStream
with the specified properties. Use the variousset...()
methods to set properties, and finish construction withFileOutputStream.Builder.build()
.
-