Class FileIOStream
- All Implemented Interfaces:
AutoCloseable,Seekable,Proxy,AutoCloseable
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.
- Since:
- 2.22
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classFileIOStream.Builder<B extends FileIOStream.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.static classNested classes/interfaces inherited from class org.gnome.gio.IOStream
IOStream.IOStream$Impl, IOStream.IOStreamClassNested classes/interfaces inherited from class org.gnome.gobject.GObject
GObject.NotifyCallback, GObject.ObjectClassNested classes/interfaces inherited from interface org.gnome.gio.Seekable
Seekable.Seekable$Impl, Seekable.SeekableIface -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new FileIOStream.FileIOStream(MemorySegment address) Create a FileIOStream proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected FileIOStreamasParent()Returns this instance as if it were its parent type.static FileIOStream.Builder<? extends FileIOStream.Builder> builder()AFileIOStream.Builderobject constructs aFileIOStreamwith the specified properties.@Nullable StringgetEtag()Gets the entity tag for the file when it has been written.static MemoryLayoutThe memory layout of the native struct.static @Nullable TypegetType()Get the GType of the FileIOStream classqueryInfo(String attributes, @Nullable Cancellable cancellable) Queries a file io stream for the givenattributes.This function blocks while querying the stream.voidqueryInfoAsync(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 booleantruncateFn(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, spliceFinishMethods 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, 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, withPropertiesMethods inherited from class org.gnome.gobject.TypeInstance
callParent, callParent, cast, getPrivate, readGClass, writeGClassMethods inherited from class org.javagi.base.ProxyInstance
equals, handle, hashCodeMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.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
-
FileIOStream
public FileIOStream()Creates a new FileIOStream.
-
-
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 Javasuperkeyword, 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.
- Since:
- 2.22
-
queryInfo
public FileInfo queryInfo(String attributes, @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
errorbeing set toIOErrorEnum.CLOSED), the stream has pending operations (witherrorbeing set toIOErrorEnum.PENDING), or if querying info is not supported for the stream's interface (witherrorbeing set toIOErrorEnum.NOT_SUPPORTED). I all cases of failure,nullwill be returned.If
cancellableis notnull, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the errorIOErrorEnum.CANCELLEDwill be set, andnullwill be returned.- Parameters:
attributes- a file attribute query string.cancellable- optionalGCancellableobject,nullto ignore.- Returns:
- a
GFileInfofor thestream,ornullon error. - Throws:
GErrorException- seeGError- Since:
- 2.22
-
queryInfoAsync
public void queryInfoAsync(String attributes, int ioPriority, @Nullable Cancellable cancellable, @Nullable AsyncReadyCallback callback) Asynchronously queries the this FileIOStream for aGFileInfo. When completed,callbackwill be called with aGAsyncResultwhich 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- optionalGCancellableobject,nullto ignore.callback- aGAsyncReadyCallbackto call when the request is satisfied- Since:
- 2.22
-
queryInfoFinish
Finalizes the asynchronous query started by g_file_io_stream_query_info_async().- Parameters:
result- aGAsyncResult.- Returns:
- A
GFileInfofor the finished query. - Throws:
GErrorException- seeGError- Since:
- 2.22
-
truncateFn
- Throws:
GErrorException
-
builder
AFileIOStream.Builderobject constructs aFileIOStreamwith the specified properties. Use the variousset...()methods to set properties, and finish construction withFileIOStream.Builder.build().- Returns:
- the builder object
-