Class FileIOStream
- All Implemented Interfaces:
Proxy
,AutoCloseable
,AutoCloseable
,Seekable
GFileIOStream
provides I/O streams that both read and write to the same
file handle.
GFileIOStream
implements Seekable
, which allows the I/O
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 I/O stream, use Seekable.tell()
.
To find out if a file I/O stream supports seeking, use
Seekable.canSeek()
. To position a file I/O stream, use
Seekable.seek(long, org.gnome.glib.SeekType, org.gnome.gio.Cancellable)
. To find out if a file I/O stream supports
truncating, use Seekable.canTruncate()
. To truncate a file I/O
stream, use Seekable.truncate(long, org.gnome.gio.Cancellable)
.
The default implementation of all the GFileIOStream
operations
and the implementation of Seekable
just call into the same
operations on the output stream.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
FileIOStream.Builder<B extends FileIOStream.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.IOStream
IOStream.IOStreamClass, IOStream.IOStreamImpl
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
ConstructorDescriptionFileIOStream
(MemorySegment address) Create a FileIOStream proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected FileIOStream
asParent()
Returns this instance as if it were its parent type.static FileIOStream.Builder
<? extends FileIOStream.Builder> builder()
AFileIOStream.Builder
object constructs aFileIOStream
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 FileIOStream classqueryInfo
(String attributes, @Nullable Cancellable cancellable) Queries a file io stream for the givenattributes
.void
queryInfoAsync
(String attributes, int ioPriority, @Nullable Cancellable cancellable, @Nullable AsyncReadyCallback callback) Asynchronously queries the this FileIOStream for aGFileInfo
.queryInfoFinish
(AsyncResult result) Finalizes the asynchronous query started by g_file_io_stream_query_info_async().protected boolean
truncateFn
(long size, @Nullable Cancellable cancellable) Methods inherited from class org.gnome.gio.IOStream
clearPending, close, closeAsync, closeFinish, closeFn, getInputStream, getOutputStream, hasPending, isClosed, setPending, spliceAsync, spliceAsync, spliceFinish
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
-
FileIOStream
Create a FileIOStream 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. -
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 io stream for the givenattributes
. This function blocks while querying the stream. For the asynchronous version of this function, see g_file_io_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
). I 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 FileIOStream, 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 FileIOStream for aGFileInfo
. When completed,callback
will be called with aGAsyncResult
which can be used to finish the operation with g_file_io_stream_query_info_finish().For the synchronous version of this function, see g_file_io_stream_query_info().
- Parameters:
attributes
- a file attribute query string.ioPriority
- the I/O priority of the requestcancellable
- optionalGCancellable
object,null
to ignore.callback
- aGAsyncReadyCallback
to call when the request is satisfied
-
queryInfoFinish
Finalizes the asynchronous query started by g_file_io_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
AFileIOStream.Builder
object constructs aFileIOStream
with the specified properties. Use the variousset...()
methods to set properties, and finish construction withFileIOStream.Builder.build()
.
-