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, SeekType, 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, 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 IOStream
IOStream.IOStream$Impl, IOStream.IOStreamClassNested classes/interfaces inherited from class GObject
GObject.NotifyCallback, GObject.ObjectClassNested classes/interfaces inherited from interface Seekable
Seekable.Seekable$Impl, Seekable.SeekableIface -
Constructor Summary
ConstructorsConstructorDescriptionCreate a new FileIOStream.FileIOStream(MemorySegment address) Create a FileIOStream instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected FileIOStreamasParent()Return 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 class.queryInfo(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 IOStream
clearPending, close, closeAsync, closeFinish, closeFn, getInputStream, getOutputStream, hasPending, isClosed, setPending, spliceAsync, spliceAsync, spliceFinishMethods inherited from class 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 TypeInstance
callParent, callParent, cast, getPrivate, readGClass, writeGClassMethods inherited from class ProxyInstance
equals, handle, hashCodeMethods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface AutoCloseable
close
-
Constructor Details
-
FileIOStream
Create a FileIOStream instance for the provided memory address.- Parameters:
address- the memory address of the native object
-
FileIOStream
public FileIOStream()Create a new FileIOStream.
-
-
Method Details
-
getType
-
getMemoryLayout
The memory layout of the native struct.- Returns:
- the memory layout
-
asParent
Return this instance as if it were its parent type. Comparable to the Javasuperkeyword, but ensures the parent typeclass is also used in native code. -
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 given
attributes.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 a
GFileInfo. 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
-