GFileIOStream provides io streams that both read and write to the same file handle.
GFileIOStream implements Seekable, which allows the io 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 io stream, use tell.
To find out if a file io stream supports seeking, use can_seek. To position a file io stream, use seek. To find out if a file io stream supports truncating, use can_truncate. To truncate a file io stream, use truncate.
The default implementation of all the FileIOStream operations and the implementation of Seekable just call into the same operations on the output stream.