KIO::FileJob Class

Header: #include <FileJob>
CMake: find_package(KF6 REQUIRED COMPONENTS KIO)
target_link_libraries(mytarget PRIVATE KF6::KIOCore)
Inherits: KIO::SimpleJob

Public Functions

void close()
void read(KIO::filesize_t size)
void seek(KIO::filesize_t offset)
KIO::filesize_t size()
void truncate(KIO::filesize_t length)
void write(const QByteArray &data)

Signals

void data(KIO::Job *job, const QByteArray &data)
void fileClosed(KIO::Job *job)
void mimeTypeFound(KIO::Job *job, const QString &mimeType)
void open(KIO::Job *job)
void position(KIO::Job *job, KIO::filesize_t offset)
void redirection(KIO::Job *job, const QUrl &url)
void truncated(KIO::Job *job, KIO::filesize_t length)
void written(KIO::Job *job, KIO::filesize_t written)

Detailed Description

@class KIO::FileJob filejob.h <KIO/FileJob>

The file-job is an asynchronous version of normal file handling. It allows block-wise reading and writing, and allows seeking and truncation. Results are returned through signals.

Should always be created using KIO::open(const QUrl&, QIODevice::OpenMode).

Member Function Documentation

void FileJob::close()

Closes the file KIO worker.

The worker emits close() and result().

[signal] void FileJob::data(KIO::Job *job, const QByteArray &data)

Data from the worker has arrived. Emitted after read().

Unless a read() request was sent for 0 bytes, End of data (EOD) has been reached if data.size() == 0

@param job the job that emitted this signal @param data data received from the worker.

[signal] void FileJob::fileClosed(KIO::Job *job)

Signals that the file is closed and will accept no more commands.

@param job the job that emitted this signal

@since 5.79

[signal] void FileJob::mimeTypeFound(KIO::Job *job, const QString &mimeType)

MIME type determined. @param job the job that emitted this signal @param mimeType the MIME type @since 5.78

[signal] void FileJob::open(KIO::Job *job)

File is open, metadata has been determined and the file KIO worker is ready to receive commands. @param job the job that emitted this signal

[signal] void FileJob::position(KIO::Job *job, KIO::filesize_t offset)

The file has reached this position. Emitted after seek(). @param job the job that emitted this signal @param offset the new position

void FileJob::read(KIO::filesize_t size)

This function attempts to read up to \p size bytes from the URL passed to KIO::open() and returns the bytes received via the data() signal.

The read operation commences at the current file offset, and the file offset is incremented by the number of bytes read, but this change in the offset does not result in the position() signal being emitted.

If the current file offset is at or past the end of file (i.e. EOD), no bytes are read, and the data() signal returns an empty QByteArray.

On error the data() signal is not emitted. To catch errors please connect to the result() signal.

@param size the requested amount of data to read

[signal] void FileJob::redirection(KIO::Job *job, const QUrl &url)

Signals the file is a redirection. Follow this url manually to reach data @param job the job that emitted this signal @param url the new URL

void FileJob::seek(KIO::filesize_t offset)

Seek

The worker emits position() on successful seek to the specified \p offset.

On error the position() signal is not emitted. To catch errors please connect to the result() signal.

@param offset the position from start to go to

KIO::filesize_t FileJob::size()

Size

@return the file size

void FileJob::truncate(KIO::filesize_t length)

Truncate

The worker emits truncated() on successful truncation to the specified \p length.

On error the truncated() signal is not emitted. To catch errors please connect to the result() signal.

@param length the desired length to truncate to @since 5.66

[signal] void FileJob::truncated(KIO::Job *job, KIO::filesize_t length)

The file has been truncated to this point. Emitted after truncate(). @param job the job that emitted this signal @param length the new length of the file @since 5.66

void FileJob::write(const QByteArray &data)

This function attempts to write all the bytes in \p data to the URL passed to KIO::open() and returns the bytes written received via the written() signal.

The write operation commences at the current file offset, and the file offset is incremented by the number of bytes read, but this change in the offset does not result in the position() being emitted.

On error the written() signal is not emitted. To catch errors please connect to the result() signal.

@param data the data to write

[signal] void FileJob::written(KIO::Job *job, KIO::filesize_t written)

\pwritten bytes were written to the file. Emitted after write(). @param job the job that emitted this signal @param written bytes written.