dtkio
dtk library for dtkio.
载入中...
搜索中...
未找到
Dtk::IO::DFile类 参考

用以管理文件的类,对文件进行打开、关闭、写入等操作,以及获取其状态等 更多...

#include <dfile.h>

Public 成员函数

 DFile (const QUrl &url)
 构造函数, 通过 传入的url字符串 创建一个Dfile对象管理该url指向的文件
 
DTK_CORE_NAMESPACE::DExpected< QUrl > url () const
 返回构造当前文件的url参数
 
DTK_CORE_NAMESPACE::DExpected< bool > open (OpenFlags mode)
 以指定模式来打开目标文件
 
DTK_CORE_NAMESPACE::DExpected< bool > close ()
 关闭文件,同时清理掉DFile对象中的输入输出流信息
 
bool isOpen () const
 返回文件是否打开
 
DTK_CORE_NAMESPACE::DExpected< size_t > read (QByteArray *data, size_t maxSize)
 从文件中读取数据
 
DTK_CORE_NAMESPACE::DExpected< QByteArray > readAll ()
 将文件中数据全部读出
 
DTK_CORE_NAMESPACE::DExpected< size_t > write (const QByteArray &data, size_t len)
 向文件中写入指定长度的数据
 
DTK_CORE_NAMESPACE::DExpected< size_t > write (const QByteArray &data)
 向文件中写入数据
 
DTK_CORE_NAMESPACE::DExpected< bool > seek (ssize_t pos, SeekType type=SeekType::Begin) const
 设置文件当前的位置
 
DTK_CORE_NAMESPACE::DExpected< ssize_t > pos () const
 获取文件当前位置的偏移量
 
DTK_CORE_NAMESPACE::DExpected< bool > flush ()
 刷新文件当前输出流,并强制写出缓冲的输出字节
 
DTK_CORE_NAMESPACE::DExpected< size_t > size () const
 获取文件的大小
 
bool exists () const
 查看文件是否存在
 
DTK_CORE_NAMESPACE::DExpected< Permissions > permissions () const
 获取文件的权限状态
 
DTK_CORE_NAMESPACE::DExpected< bool > setPermissions (Permissions permission)
 设置文件的权限状态
 
DTK_CORE_NAMESPACE::DExpected< bool > setAttribute (AttributeID id, const QVariant &value)
 设置文件属性
 
DTK_CORE_NAMESPACE::DExpected< bool > setAttribute (const QByteArray &key, const QVariant &value, const AttributeType type, const FileQueryInfoFlags flag=FileQueryInfoFlags::TypeNoFollowSymlinks)
 设置文件属性
 
DFileFutureopenAsync (OpenFlags mode, int ioPriority, QObject *parent=nullptr)
 以异步的方式打开文件
 
DFileFuturecloseAsync (int ioPriority, QObject *parent=nullptr)
 以异步的方式关闭文件
 
DFileFuturereadAsync (size_t maxSize, int ioPriority, QObject *parent=nullptr)
 以异步的方式读取文件数据
 
DFileFuturereadAllAsync (int ioPriority, QObject *parent=nullptr)
 以异步的方式读取文件数据
 
DFileFuturewriteAsync (const QByteArray &data, size_t len, int ioPriority, QObject *parent=nullptr)
 以异步的方式写入文件数据
 
DFileFuturewriteAsync (const QByteArray &data, int ioPriority, QObject *parent=nullptr)
 以异步的方式写入文件数据
 
DFileFutureflushAsync (int ioPriority, QObject *parent=nullptr)
 以异步的方式刷新文件输出流并强制输出
 
DFileFuturesizeAsync (int ioPriority, QObject *parent=nullptr)
 以异步的方式获取文件的大小
 
DFileFutureexistsAsync (int ioPriority, QObject *parent=nullptr)
 以异步的方式获取文件是否存在
 
DFileFuturepermissionsAsync (int ioPriority, QObject *parent=nullptr)
 以异步的方式获取文件的权限属性
 
DFileFuturesetPermissionsAsync (Permissions permission, int ioPriority, QObject *parent=nullptr)
 以异步的方式设置文件的权限属性
 
DTK_CORE_NAMESPACE::DError lastError () const
 获取当前文件操作的错误码
 

详细描述

用以管理文件的类,对文件进行打开、关闭、写入等操作,以及获取其状态等

构造及析构函数说明

◆ DFile()

DFile::DFile ( const QUrl &  url)
explicit

构造函数, 通过 传入的url字符串 创建一个Dfile对象管理该url指向的文件

参数
[in]url目标文件的url字符串

成员函数说明

◆ close()

DExpected< bool > DFile::close ( )

关闭文件,同时清理掉DFile对象中的输入输出流信息

返回
true

◆ closeAsync()

DFileFuture * DFile::closeAsync ( int  ioPriority,
QObject *  parent = nullptr 
)

以异步的方式关闭文件

参数
[in]ioPriority暂未使用到的参数
[in]parent父对象,默认为nullptr
返回
操作成功DFileFutur对象表示异步计算的结果

◆ exists()

bool DFile::exists ( ) const

查看文件是否存在

返回
文件是否存在的Bool值

◆ existsAsync()

DFileFuture * DFile::existsAsync ( int  ioPriority,
QObject *  parent = nullptr 
)

以异步的方式获取文件是否存在

参数
[in]ioPriority优先级控制
[in]parent父对象,默认为nullptr
返回
操作成功DFileFutur对象表示异步计算的结果

◆ flush()

DExpected< bool > DFile::flush ( )

刷新文件当前输出流,并强制写出缓冲的输出字节

返回
操作成功返回true,否则返回DError对象,包含错误信息

◆ flushAsync()

DFileFuture * DFile::flushAsync ( int  ioPriority,
QObject *  parent = nullptr 
)

以异步的方式刷新文件输出流并强制输出

参数
[in]ioPriority优先级控制
[in]parent父对象,默认为nullptr
返回
操作成功DFileFutur对象表示异步计算的结果

◆ isOpen()

bool DFile::isOpen ( ) const

返回文件是否打开

返回
文件是否打开
返回值
true文件已打开
false文件没有打开

◆ lastError()

DError DFile::lastError ( ) const

获取当前文件操作的错误码

返回
当前文件操作的错误码

◆ open()

DExpected< bool > DFile::open ( OpenFlags  mode)

以指定模式来打开目标文件

参数
[in]mode文件打开的模式(只写、只读、读写、追加等)
返回
打开成功返回ture,错误则为DError对象,包含错误信息

◆ openAsync()

DFileFuture * DFile::openAsync ( OpenFlags  mode,
int  ioPriority,
QObject *  parent = nullptr 
)

以异步的方式打开文件

参数
[in]mode打开文件的模式(只写、只读、读写、追加等)
[in]ioPriority暂未使用到的参数
[in]parent父对象,默认为nullptr
返回
操作成功DFileFutur对象表示异步计算的结果

◆ permissions()

DExpected< Permissions > DFile::permissions ( ) const

获取文件的权限状态

返回
操作成功返回文件权限对象,否则返回DError对象,包含错误信息

◆ permissionsAsync()

DFileFuture * DFile::permissionsAsync ( int  ioPriority,
QObject *  parent = nullptr 
)

以异步的方式获取文件的权限属性

参数
[in]ioPriority优先级控制
[in]parent父对象,默认为nullptr
返回
操作成功DFileFutur对象表示异步计算的结果

◆ pos()

DExpected< ssize_t > DFile::pos ( ) const

获取文件当前位置的偏移量

返回
读取成功返回文件当前位置的偏移量,否则返回DError对象,包含错误信息

◆ read()

DExpected< size_t > DFile::read ( QByteArray *  data,
size_t  maxSize 
)

从文件中读取数据

参数
[out]data用以存放读取到的数据
[in]maxSize从文件中读取数据的最大长度
返回
读取成功返回读取到的数据长度,否则返回DError对象,包含错误信息

◆ readAll()

DExpected< QByteArray > DFile::readAll ( )

将文件中数据全部读出

返回
成功则返回读取到的数据,否则返回DError对象,包含错误信息

◆ readAllAsync()

DFileFuture * DFile::readAllAsync ( int  ioPriority,
QObject *  parent = nullptr 
)

以异步的方式读取文件数据

参数
[in]ioPriority优先级控制
[in]parent父对象,默认为nullptr
返回
操作成功DFileFutur对象表示异步计算的结果

◆ readAsync()

DFileFuture * DFile::readAsync ( size_t  maxSize,
int  ioPriority,
QObject *  parent = nullptr 
)

以异步的方式读取文件数据

参数
[in]maxSize要读取数据的最大长度
[in]ioPriority优先级控制
[in]parent父对象,默认为nullptr
返回
操作成功DFileFutur对象表示异步计算的结果

◆ seek()

DExpected< bool > DFile::seek ( ssize_t  pos,
SeekType  type = SeekType::Begin 
) const

设置文件当前的位置

参数
[in]pos要设置的偏移量
[in]type设置偏移量的类型(从开始位置、当前位置、末尾位置)
返回
设置成功返回true,否则返回DError对象,包含错误信息

◆ setAttribute() [1/2]

DExpected< bool > DFile::setAttribute ( AttributeID  id,
const QVariant &  value 
)

设置文件属性

参数
[in]id要设置的属性的id值
[in]value要设置的属性
返回
操作的结果
返回值
true操作成功
DError对象包含错误信息

◆ setAttribute() [2/2]

DExpected< bool > Dtk::IO::DFile::setAttribute ( const QByteArray &  key,
const QVariant &  value,
const AttributeType  type,
const FileQueryInfoFlags  flag = FileQueryInfoFlags::TypeNoFollowSymlinks 
)

设置文件属性

参数
[in]key要设置的属性的键值
[in]value要设置的属性
[in]type设置属性的类型(字符、字节、布尔值等)
[in]flag查询文件信息时是否查询链接文件
返回
操作的结果
返回值
true操作成功
DError对象包含错误信息

◆ setPermissions()

DExpected< bool > DFile::setPermissions ( Permissions  permission)

设置文件的权限状态

返回
操作的结果
返回值
true操作成功
DError对象包含错误信息

◆ setPermissionsAsync()

DFileFuture * DFile::setPermissionsAsync ( Permissions  permission,
int  ioPriority,
QObject *  parent = nullptr 
)

以异步的方式设置文件的权限属性

参数
[in]permission要设置的权限属性
[in]ioPriority优先级控制
[in]parent父对象,默认为nullptr
返回
操作成功DFileFutur对象表示异步计算的结果

◆ size()

DExpected< size_t > DFile::size ( ) const

获取文件的大小

返回
操作成功返回文件大小,否则返回DError对象,包含错误信息

◆ sizeAsync()

DFileFuture * DFile::sizeAsync ( int  ioPriority,
QObject *  parent = nullptr 
)

以异步的方式获取文件的大小

参数
[in]ioPriority优先级控制
[in]parent父对象,默认为nullptr
返回
操作成功DFileFutur对象表示异步计算的结果

◆ url()

DExpected< QUrl > DFile::url ( ) const

返回构造当前文件的url参数

返回
构造当前文件的url参数

◆ write() [1/2]

DExpected< size_t > DFile::write ( const QByteArray &  data)

向文件中写入数据

参数
[in]data要写入文件的数据
返回
读取成功返回写入的数据长度,否则返回DError对象,包含错误信息

◆ write() [2/2]

DExpected< size_t > DFile::write ( const QByteArray &  data,
size_t  len 
)

向文件中写入指定长度的数据

参数
[in]data要写入文件的数据
[in]len写入数据的长度
返回
读取成功返回写入的数据长度,否则返回DError对象,包含错误信息

◆ writeAsync() [1/2]

DFileFuture * Dtk::IO::DFile::writeAsync ( const QByteArray &  data,
int  ioPriority,
QObject *  parent = nullptr 
)

以异步的方式写入文件数据

参数
[in]data要写入的数据
[in]ioPriority优先级控制
[in]parent父对象,默认为nullptr
返回
操作成功DFileFutur对象表示异步计算的结果

◆ writeAsync() [2/2]

DFileFuture * Dtk::IO::DFile::writeAsync ( const QByteArray &  data,
size_t  len,
int  ioPriority,
QObject *  parent = nullptr 
)

以异步的方式写入文件数据

参数
[in]data要写入的数据
[in]len写入数据的长度
[in]ioPriority优先级控制
[in]parent父对象,默认为nullptr
返回
操作成功DFileFutur对象表示异步计算的结果

该类的文档由以下文件生成: