QDir类提供了访问系统目录结构及其内容的与平台无关的方式。

头文件:#include <qdir.h>

QDir类用来操作路径名及底层文件系统,获取关于目录路径及文件的相关信息,也可以用来获取Qt资源系统的文件信息。

QDir类使用相对或绝对文件路径来指向一个文件/目录。

绝对路径是从目录分隔符“/”或者带有一个驱动器标识(除了在Unix下)。

如果总是使用“/”作为目录分隔符,Qt将会把你的路径转化为符合底层的操作系统的。

相对文件名是由一个目录名称或者文件名开始并且指定一个相对于当前路径的路径。

绝对路径示例:

其中第二个路径是Windows系统下,它指向的路径是:C:\Documents and Secctings。

相对路径示例:

注意当前路径是指应用程序的工作目录,而QDir自己的路径可以通过setPath()设置并且通过path()获得。

可以使用QDir类的方法isRelative()或者是isAbsolute()来判断QDir指向的路径是相对路径还是绝对路径,如果是相对路径,可使用方法makeAbsolute()将相对路径转换为绝对路径。

1. 目录及导航操作

QDir类对象所关联的目录路径可以使用path()函数获得,可以使用setPath()方法来设置新的路径;

可以使用方法absolutePath()来获得目录的绝对路径。

目录名可以使用dirName()方法来获得,该方法返回绝对路径中的最后一个项目,即目录名,但如果QDir关联的是当前工作目录,则返回"."。

可以使用mkdir()方法来创建一个目录;

使用rename()方法来对关联目录进行重命名;

使用rmdir()方法来移除一个目录;

使用exists()方法检测目录是否存在;

使用refresh()方法来刷新目录内容。

其余方法详见QDir类的API文档。

2. 文件及目录内容

文件系统中目录中一般包括文件、子目录及符号链接;

可以使用count()方法来获得QDir类对象关联的目录中的条目数目;

可以使用entryList()获取所有条目的名称;

可以使用entryInfoList()来获取条目的QFileInfo内容。

可以使用filePath()及absoluteFilePath()来获得QDir中指定文件的路径名,但这两个函数均不检查指定的文件是否存在;

可以使用remove()方法来删除指定文件;

可以使用过滤器来获取指定类型的文件,当文件符合过滤器指定条件时被保留;

过滤器中的内容实际上是一个stringList。

3. 当前目录及其他特定路径

可以使用一些静态函数来访问指定的路径,这些函数返回一个QDir对象:

可以使用静态函数setCurrent()来设置应用程序的工作路径。

4.API中的实例

参考一个目录是否存在

QDir d( "example" );                        // “./example”

if ( !d.exists() )

qWarning( "Cannot find the example directory" );

一个列出当前目录中所有文件(不包括符号连接)的程序,按大小排序,小的在前。

#include <stdio.h>

#include <qdir.h>

int main( int argc, char **argv )

{

QDir d;

d.setFilter( QDir::Files | QDir::Hidden | QDir::NoSymLinks );

d.setSorting( QDir::Size | QDir::Reversed );

const QFileInfoList *list = d.entryInfoList();

QFileInfoListIterator it( *list );

QFileInfo *fi;

printf( "     Bytes Filename\n" );

while ( (fi = it.current()) != 0 ) {

printf( "%10li %s\n", fi->size(), fi->fileName()。latin1() );

++it;

}

return 0;

}

5. QDir中的Filter枚举变量

enum QDir::Filter 与 flags QDir::Filters 中常用的枚举变量值及其含义如下:

QDir::Dirs 0x001 列出目录;

QDir::AllDirs 0x400 列出所有目录,不对目录名进行过滤;

QDir::Files 0x002 列出文件;

QDir::Drives0x004 列出逻辑驱动器名称,该枚举变量在Linux/Unix中将被忽略;

QDir::NoSymLinks 0x008 不列出符号链接;

QDir::NoDotAndDotDot 0x1000 不列出文件系统中的特殊文件.及..;

QDir::NoDot 0x2000 不列出.文件,即指向当前目录的软链接

QDir::NoDotDot0x4000 不列出..文件;

QDir::AllEntries 其值为Dirs | Files | Drives,列出目录、文件、驱动器及软链接等所有文件;

QDir::Readable 0x010 列出当前应用有读权限的文件或目录;

QDir::Writable 0x020 列出当前应用有写权限的文件或目录;

QDir::Executable0x040 列出当前应用有执行权限的文件或目录;

Readable、Writable及Executable均需要和Dirs或Files枚举值联合使用;

QDir::Modified0x080 列出已被修改的文件,该值在Linux/Unix系统中将被忽略;

QDir::Hidden0x100 列出隐藏文件;

QDir::System0x200 列出系统文件;

QDir::CaseSensitive0x800 设定过滤器为大小写敏感。

6. QDir中的SortFlag枚举变量

这个枚举变量描述的是QDir如何排列由 entryList() 或 entryInfoList() 返回的条目。被指定的排列的值可以由下述列表中的值或运算得到:

QDir::Name - 按名称排序。

QDir::Time - 按时间排序(修改时间)。

QDir::Size - 按文件大小排序。

QDir::Unsorted - 不排序。

QDir::SortByMask - Name、Time和Size的掩码。

QDir::DirsFirst - 首先是目录,然后是文件。

QDir::Reversed - 相反的排序顺序。

QDir::IgnoreCase - 不区分大小写进行排序。

QDir::DefaultSort - 内部标记。

前四种中你只能指定一个。

如果你同时指定DirsFirst和Reversed,目录仍然会被放在前面,但是按照反向的顺序,文件仍然排在目录后面,当然也是按照反向的顺序。

7.成员函数文档

QDir::QDir ()

构造一个指向当前目录的QDir。

也可以参考currentDirPath()。

QDir::QDir ( const QString & path, const QString & nameFilter = QString::null, int sortSpec = Name | IgnoreCase, int filterSpec = All )

构造一个路径为path、名称过滤器为nameFilter并且属性过滤器为filterSpec的QDir。它也使用sortSpec来排列名称。

默认的nameFilter是一个空字符串,不包含任何东西,默认的filterSpec是All,也就是说也不包含任何东西。默认的sortSpec是Name|IgnoreCase,也就是说不区分大小写按名称排序。

下面是列出“/tmp”中所有文件的实例:

QDir d( "/tmp" );

for ( int i = 0; i < d.count(); i++ )

printf( "%s\n", d[i] );

如果path为“”或零,QDir使用“.”(当前目录)。如果nameFilter为“”或零,QDir使用“*”(所有文件)。

注意path不需要存在。

也可以参考exists()、setPath()、setNameFilter()、setFilter()和setSorting()。

QDir::QDir ( const QDir & d )

构造一个目录d的复制的QDir。

也可以参考operator=()。

QDir::~QDir () [虚]

销毁QDir并且释放它的资源。

QString QDir::absFilePath ( const QString & fileName, bool acceptAbsPath = TRUE ) const [虚]

返回路径中一个文件的绝对路径名称。不检查这个文件是否真的存在于这个目录中。在fileName中多余的分隔符或者“.”和“..”目录将被移除(请参考cleanDirPath())。

如果acceptAbsPath为真,由分隔符“/”开始的fileName将会被不改变地立即返回。如果acceptAbsPath为假,绝对路径将被被加到fileName的前面并且结果字符串被返回。

也可以参考filePath()。

QString QDir::absPath () const [虚]

返回绝对路径(一个由“/”或驱动器标识开始的路径),可能包含符号连接,但是不会包含“.”、“..”或者多个分隔符。

也可以参考setPath()、canonicalPath()、exists()、cleanDirPath()、dirName()和absFilePath()。

实例:fileiconview/qfileiconview.cpp。

QString QDir::canonicalPath () const [虚]

返回规范的路径,也就是没有符号连接或者多余的“.”、“..”元素的路径。

在没有符号连接的系统上,这个函数总是返回和absPath()返回值一样的值。如果规范路径不存在(通常是因为挂起的符号连接)。

也可以参考path()、absPath()、exists()、cleanDirPath()、dirName()、absFilePath()和QString::isNull()。

bool QDir::cd ( const QString & dirName, bool acceptAbsPath = TRUE ) [虚]

改变QDir的目录为dirName。

如果acceptAbsPath为真,由分隔符“/”开始的路径将会导致这个函数改变到这个绝对路径。如果acceptAbsPath为假,dirName前面的任何数量的分隔符都将被移除并且这个函数将会进入到dirName中。

如果新的路径存在并且是可读的,返回真。注意如果新的目录不存在,逻辑上的cd()操作不会被执行。

调用cd( ".." )等于调用cdUp()。

也可以参考cdUp()、isReadable()、exists()和path()。

实例:fileiconview/mainwindow.cpp。

bool QDir::cdUp () [虚]

改变目录为QDir的当前目录的上一级目录。

如果新的路径存在并且是可读的,返回真。注意如果新的目录不存在,逻辑上的cdUp()操作不会被执行。

也可以参考cd()、isReadable()、exists()和path()。

QString QDir::cleanDirPath ( const QString & filePath ) [静态]

移除filePath的多重目录分隔符“/”并且解析其中的“.”或者“..”。

符号连接会被保留。这个函数不返回规范路径,但会是输入的最简化的版本。“./local”变为“local”、“local/../bin”变为“bin”并且“/local/usr/../bin”变为“/local/bin”。

也可以参考absPath()和canonicalPath()。

QString QDir::convertSeparators ( const QString & pathName ) [静态]

把pathName里面的“/”分隔符转化为适用于底层操作系统的分隔符。返回转化的字符串。

在Windows上,convertSeparators("c:/winnt/system32")返回“c:\winnt\system32”。

在一些操作系统上,例如在Unix上,返回的字符串可能和参数是一样的。

void QDir::convertToAbs () [虚]

把目录路经转化为绝对路径。如果它已经是绝对路径了,就什么也不做。

也可以参考isRelative()。

uint QDir::count () const

返回找到的目录和文件的数量。

Equivalent to entryList()。count()。

也可以参考operator[]()和entryList()。

QDir QDir::current () [静态]

返回应用程序当前目录。

使用path()来访问QDir对象的路径。

也可以参考currentDirPath()和QDir::QDir()。

QString QDir::currentDirPath () [静态]

返回应用程序当前目录的绝对路径。

也可以参考current()。

实例:helpviewer/helpwindow.cpp和qdir/qdir.cpp。

QString QDir::dirName () const [虚]

返回目录的名称,这和路径是不同的,例如一个名称为“mail”的目录,也许路径为“/var/spool/mail”。如果目录没有名字(例如,它是根目录),一个零字符串被返回。

不会执行检测来确保这个名称的目录真正存在。

也可以参考path()、absPath()、absFilePath()、exists()和QString::isNull()。

const QFileInfoList * QDir::drives () [静态]

返回这个系统中根目录的列表。在Windows中,这将返回许多包含“”、“”等等的QFileInfo对象。在其它操作系统,它返回的是只包含一个根目录(例如“/”)的列表。

返回的指针的所有权归Qt。调用者不要删除或者修改它。

实例:dirview/main.cpp。

QStrList QDir::encodedEntryList ( int filterSpec = DefaultFilter, int sortSpec = DefaultSort ) const [虚]

这个函数是废弃的。它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。

这个函数被包含是因为可以很容易地从Qt 1.x移植到Qt 3.0,它和entryList()是一样地,但是文件名的编码方式是使用QFile::encodedName()的8位字符串。

使用它比使用entryList()更有效率。

QStrList QDir::encodedEntryList ( const QString & nameFilter, int filterSpec = DefaultFilter, int sortSpec = DefaultSort ) const [虚]

这个函数是废弃的。它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。

这是一个重载成员函数,用于提供方便。它的行为基于上面的函数。

这个函数被包含是因为可以很容易地从Qt 1.x移植到Qt 3.0,它和entryList()是一样地,但是文件名的编码方式是使用QFile::encodedName()的8位字符串。

使用它比使用entryList()更有效率。

const QFileInfoList * QDir::entryInfoList ( const QString & nameFilter, int filterSpec = DefaultFilter, int sortSpec = DefaultSort ) const [虚]

返回这个目录中所有目录和文件的QFileInfo对象的列表,根据setSorting()排序并且根据setFilter()和setNameFilter()进行过滤。

过滤器和排序的规定可以使用nameFilter、filterSpec和sortSpec参数来指定。

如果这个目录是不可读的或者不存在,返回0。

返回的指针是一个指向QFileInfoList的常量指针。这个列表归QDir对象所有并且将会在同一个QDir实例下次调用entryInfoList()时被重新使用。如果你想在调用这个函数之后保留这个列表的条目,你将需要复制它们。

也可以参考entryList()、setNameFilter()、setSorting()和setFilter()。

实例:dirview/dirview.cpp和fileiconview/qfileiconview.cpp。

const QFileInfoList * QDir::entryInfoList ( int filterSpec = DefaultFilter, int sortSpec = DefaultSort ) const [虚]

这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。

返回这个目录中所有目录和文件的QFileInfo对象的列表,根据setSorting()排序并且根据setFilter()和setNameFilter()进行过滤。

过滤器和排序的规定可以使用filterSpec和sortSpec参数来指定。

如果这个目录是不可读的或者不存在,返回0。

返回的指针是一个指向QFileInfoList的常量指针。这个列表归QDir对象所有并且将会在同一个QDir实例下次调用entryInfoList()时被重新使用。如果你想在调用这个函数之后保留这个列表的条目,你将需要复制它们。

也可以参考entryList()、setNameFilter()、setSorting()和setFilter()。

QStringList QDir::entryList ( const QString & nameFilter, int filterSpec = DefaultFilter, int sortSpec = DefaultSort ) const [虚]

返回这个目录中所有目录和文件的名称的列表,根据setSorting()排序并且根据setFilter()和setNameFilter()进行过滤。

过滤器和排序的规定可以使用nameFilter、filterSpec和sortSpec参数来指定。

如果这个目录是不可读的或者不存在,返回空的列表。。

也可以参考entryInfoList()、setNameFilter()、setSorting()和setFilter()。

实例:table/statistics/statistics.cpp。

QStringList QDir::entryList ( int filterSpec = DefaultFilter, int sortSpec = DefaultSort ) const [虚]

这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。

返回这个目录中所有目录和文件的名称的列表,根据setSorting()排序并且根据setFilter()和setNameFilter()进行过滤。

过滤器和排序的规定可以使用filterSpec和sortSpec参数来指定。

如果这个目录是不可读的或者不存在,返回空的列表。。

也可以参考entryInfoList()、setNameFilter()、setSorting()和setFilter()。

bool QDir::exists ( const QString & name, bool acceptAbsPath = TRUE ) [虚]

检查文件name的存在性。

如果acceptAbsPath为真,由分隔符“/”开始的路径将会使用绝对路径检查这个文件。如果acceptAbsPath为假,name开始的任何数量的分隔符将会被移除并且结果文件名将被检查。

如果文件存在,返回真,否则返回假。

也可以参考QFileInfo::exists()和QFile::exists()。

bool QDir::exists () const [虚]

这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。

如果directory存在,返回真。(如果发现一个同名的文件,这个函数将返回假)。

也可以参考QFileInfo::exists()和QFile::exists()。

QString QDir::filePath ( const QString & fileName, bool acceptAbsPath = TRUE ) const [虚]

返回目录中一个文件的路径名称。不检查这个文件是否真的存在于这个目录中。如果QDir是相对的,返回的路径名称也是相对的。fileName中多余的多重分隔符或者“.”和“..”目录将被移除(请参考cleanDirPath())。

如果acceptAbsPath为真,由分隔符“/”开始的fileName将会被不改变地立即返回。如果acceptAbsPath为假,绝对路径将被被加到fileName的前面并且结果字符串被返回。

也可以参考absFilePath()、isRelative()和canonicalPath()。

FilterSpec QDir::filter () const

返回由setFilter()设置的值。

QDir QDir::home () [静态]

返回主目录。

在Windows NT/2000下,这个函数通过连接HOMEDRIVE和HOMEPATH环境变量来形成这个路径。

在Windows 9x和非Windows操作系统,HOME环境变量被使用。

如果这个环境变量没有被设置,rootDirPath()用来代替它。

也可以参考homeDirPath()。

QString QDir::homeDirPath () [静态]

返回用户的主目录的绝对路径。

也可以参考home()。

bool QDir::isReadable () const [虚]

如果目录是可读的并且我们可以通过名称打开文件,返回真。如果只有上述一个条件存在,这个函数返回假。 警告: 这个函数返回的假并不保证这个目录不可访问。

也可以参考QFileInfo::isReadable()。

实例:dirview/dirview.cpp和fileiconview/qfileiconview.cpp。

bool QDir::isRelative () const [虚]

如果目录路径是相对于当前路径的,返回真,并且如果路径是绝对的(例如在Unix下,一个路径如果没有以“/”开始就是相对的),返回假。

也可以参考convertToAbs()。

bool QDir::isRelativePath ( const QString & path ) [静态]

如果path是相对的,返回真,如果它是绝对的,返回假。

也可以参考isRelative()。

bool QDir::isRoot () const [虚]

如果目录是根目录,返回真,否则返回假。

注意:如果目录是一个连接到根目录的符号连接,这个函数返回假。如果你想测试这一点,你可以使用canonicalPath():

实例:

QDir d( "/tmp/root_link" );

d = d.canonicalPath();

if ( d.isRoot() )

qWarning( "It IS a root link!" );

也可以参考root()和rootDirPath()。

bool QDir::match ( const QString & filter, const QString & fileName ) [静态]

如果fileName与通配符模式filter匹配,返回真。filter也可以包含由空格或者分号分割的多个模式。

(请参考QRegExp通配符匹配。)

也可以参考QRegExp::match()。

bool QDir::match ( const QStringList & filters, const QString & fileName ) [静态]

这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。

如果fileName与列表filters中的通配符模式匹配,返回真。

(请参考QRegExp通配符匹配。)

也可以参考QRegExp::match()。

bool QDir::matchAllDirs () const

返回由setMatchAllDirs()设置的值。

也可以参考setMatchAllDirs()。

bool QDir::mkdir ( const QString & dirName, bool acceptAbsPath = TRUE ) const [虚]

创建一个目录。

如果acceptAbsPath为真,由分隔符“/”开始的dirName将会被不改变地立即返回。如果acceptAbsPath为假,dirName的开始的任意个分隔符将被移除。

如果成功,返回真,否则返回假。

也可以参考rmdir()。

QString QDir::nameFilter () const

返回由setNameFilter()设置的字符串。

bool QDir::operator!= ( const QDir & d ) const [虚]

如果目录d和这个目录是不同的路径或者不同的排序或过滤器设置,返回真,否则返回假。

实例:

// 当前目录为“/usr/local”

QDir d1( "/usr/local/bin" );

QDir d2( "bin" );

if ( d1 != d2 ) qDebug( "They differ\n" ); // 这是被打印的

QDir & QDir::operator= ( const QDir & d )

完成一个QDir d的复制并且把它赋给这个QDir。

QDir & QDir::operator= ( const QString & path )

这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。

设置这个目录的路径为给定的path。

bool QDir::operator== ( const QDir & d ) const [虚]

如果目录d和这个目录有相同的路径、相同的排序和过滤器,返回真,否则返回假。

实例:

// 当前目录为“/usr/local”

QDir d1( "/usr/local/bin" );

QDir d2( "bin" );

d2.convertToAbs();

if ( d1 == d2 ) qDebug( "They're the same\n" ); // 这是被打印的

QString QDir::operator[] ( int index ) const

返回在文件名列表的index位置的文件名。等于entryList().at(index)。

如果index超出范围或者entryList()函数失败,返回一个零字符串。

也可以参考count()和entryList()。

QString QDir::path () const [虚]

返回这个路径,这也许包含符号连接,但决不会包含多余的“.”、“..”或者多重分隔符。

返回的路径可能是相对的也可能是绝对的(请参考setPath())。

也可以参考setPath()、absPath()、exists()、cleanDirPath()、dirName()、absFilePath()和convertSeparators()。

bool QDir::remove ( const QString & fileName, bool acceptAbsPath = TRUE ) [虚]

移除文件。

如果acceptAbsPath为真,由分隔符“/”开始的路径将会移除使用绝对路径的文件。如果acceptAbsPath为假,fileName开始的任意个分隔符将被移除并且结果文件将被移除。

如果文件移除成功,返回真,否则返回假。

bool QDir::rename ( const QString & oldName, const QString & newName, bool acceptAbsPaths = TRUE ) [虚]

重命名一个文件或目录。

如果acceptAbsPath为真,由分隔符“/”开始的路径将会重命名使用绝对路径的文件。如果acceptAbsPath为假,fileName开始的任意个分隔符将被移除并且结果文件将被重命名。

如果成功,返回真,否则返回假。

在绝大多数文件系统中,只有在oldName不存在或者newName和oldName不在同一个分区中,rename()才会失败。在Windows下,如果newName已经存在,rename()将会失败。无论如何,还有其它几个原因导致rename()失败。例如,例如在文件系统中如果newName指向一个打开的文件,rename()会失败。

实例:fileiconview/qfileiconview.cpp。

bool QDir::rmdir ( const QString & dirName, bool acceptAbsPath = TRUE ) const [虚]

移除一个目录。

如果acceptAbsPath为真,由分隔符“/”开始的路径将会移除使用绝对路径的目录。如果acceptAbsPath为假,dirName开始的任意个分隔符将被移除并且结果目录将被移除。

为了使rmdir()成功,这个目录必须为空。

如果成功,返回真,否则返回假。

也可以参考mkdir()。

QDir QDir::root () [静态]

返回根目录。

也可以参考rootDirPath()和drives()。

QString QDir::rootDirPath () [静态]

返回根目录的绝对路径。

在Unix操作系统这个返回“/”。在Windows文件系统这个返回“C:/”。

也可以参考root()和drives()。

char QDir::separator () [静态]

返回本地目录分隔符,在Unix下是“/”,在MS-DOS、Windows NT和OS/2下是“\”,在Mac OS下是“:”。

你不需要这个函数来构建文件路径。如果你一直使用“/”,Qt将会把你的路径转化为符合底层操作系统的路径的。

bool QDir::setCurrent ( const QString & path ) [静态]

设置你的应用程序的当前工作目录为path。如果目录被成功改变,返回真,否则返回假。

void QDir::setFilter ( int filterSpec ) [虚]

设置被entryList()和entryInfoList()使用的过滤器为filterSpec。过滤器被用来指定entryList()和entryInfoList()返回哪些文件。请参考QDir::FilterSpec。

也可以参考filter()和setNameFilter()。

void QDir::setMatchAllDirs ( bool enable ) [虚]

如果enable为真,那么所有的目录被包含(例如在entryList()中),并且nameFilter()仅适用于文件。如果enable为假,那么nameFilter()同时适用于文件和目录。

也可以参考matchAllDirs()。

void QDir::setNameFilter ( const QString & nameFilter ) [虚]

设置entryList()和entryInfoList()使用的名称过滤器为nameFilter。

nameFilter是一个可以理解“*”和“?”的通配符过滤器。(请参考QRegExp通配符匹配。)你可以使用单个空格“ ”或者分号“;”来分割几个过滤器条目。

例如,如果你想entryList()和entryInfoList()列出所有以“.cpp”和“.h”结尾的文件,你需要使用dir.setNameFilter("*.cpp *.h")或dir.setNameFilter("*.cpp;*.h")。

也可以参考nameFilter()和setFilter()。

void QDir::setPath ( const QString & path ) [虚]

设置目录的路径为path。这个路径被清除多余的“.”、“..”和多重分隔符。不会完成检查来确保这个路径的目录是否存在。

路径可以是相对的也可以是绝对的。绝对路径是由目录分隔符“/”或驱动器标识开始的(除了Unix下)。相对路径是一个指定了相对于当前目录的目录名称和文件名称。一个绝对路径的实例是“/tmp/quartz”,一个相对路径的实例是“src/fatlib”。

也可以参考path()、absPath()、exists()、cleanDirPath()、dirName()、absFilePath()、isRelative()和convertToAbs()。

void QDir::setSorting ( int sortSpec ) [虚]

设置entryList()和entryInfoList()使用的排序顺序。

sortSpec是由QDir::SortSpec中的枚举变量的值或运算得到。

也可以参考sorting()和SortSpec。

QDir类和方法应用的更多相关文章

  1. QT学习笔记8:QDir类及其用法总结

    简介 QDir类提供了访问系统目录结构及其内容的与平台无关的方式. 头文件:#include <qdir.h> QDir类用来操作路径名及底层文件系统,获取关于目录路径及文件的相关信息,也 ...

  2. Android随笔之——Android时间、日期相关类和方法

    今天要讲的是Android里关于时间.日期相关类和方法.在Android中,跟时间.日期有关的类主要有Time.Calendar.Date三个类.而与日期格式化输出有关的DateFormat和Simp ...

  3. oracle调用JAVA类的方法

    导入jar包 在oracle中导入需要的jar包,我们把编辑好的java类打成jar包,直接在oarcle里面写简单的调用就可以了,  1.操作系统需要拥有支持loadjava命令的jdk.  2.加 ...

  4. C#动态创建和动态使用程序集、类、方法、字段等

    C#动态创建和动态使用程序集.类.方法.字段等 分类:技术交流 (3204)  (3)   首先需要知道动态创建这些类型是使用的一些什么技术呢?其实只要相关动态加载程序集呀,类呀,都是使用反射,那么动 ...

  5. python学习道路(day8note)(抽象类,类的方法,异常处理,socket编程)

    1.#面向对象 #抽象接口 === 抽象类 #就是架构师给你一个架子,你们去写,如果满足不了直接报错 #python2 print("python2---抽象类".center(2 ...

  6. 5.Swift枚举|结构体|类|属性|方法|下标脚本|继承

    1. 枚举: ->在Swift中依然适用整数来标示枚举值,需搭配case关键字 enum  Celebrity{  case DongXie,XiDu,Nandi,BeiGai }  // 从左 ...

  7. RBAC类的方法

    rbac类的 方法 authenticate($map,$model='')方法 传入查询用户的条件和用户表的MODEL 返回数组包含用户的信息 saveAccessList($authId=null ...

  8. java 调用 C# 类库搞定,三步即可,可以调用任何类及方法,很简单,非常爽啊

    java 调用 C# 类库搞定,三步即可,可以调用任何类及方法,很简单,非常爽啊 java 调用 C# 类库搞定,可以调用任何类及方法,很简单,非常爽啊 总体分三步走: 一.准备一个 C# 类库 (d ...

  9. C#可扩展编程之MEF学习笔记(三):导出类的方法和属性

    前面说完了导入和导出的几种方法,如果大家细心的话会注意到前面我们导出的都是类,那么方法和属性能不能导出呢???答案是肯定的,下面就来说下MEF是如何导出方法和属性的. 还是前面的代码,第二篇中已经提供 ...

  10. 深入.net(类及方法)

    .net 的命名规则: 帕斯卡命名法 ----- 多个单词说明,且直接连接,并首字母大写(类名.方法名.属性名....) 骆驼命名法---------多个单词说明,且直接连接,并首字母大写,第一个字母 ...

随机推荐

  1. 数据库系列:MySQL慢查询分析和性能优化

    1 背景 我们的业务服务随着功能规模扩大,用户量扩增,流量的不断的增长,经常会遇到一个问题,就是数据存储服务响应变慢. 导致数据库服务变慢的诱因很多,而RD最重要的工作之一就是找到问题并解决问题. 下 ...

  2. 【一句话】Java8后abstract class和interface的区别

    首先一句话: Java8后(1)interface支持default和static方法有实现,abstract class依然是抽象方法和非抽象方法,(2)可同时实现多个interface,(3)但成 ...

  3. ES字段类型

    1 String ELasticsearch 5.X之后的字段类型不再支持string,由text和keyword取代,不做说明. 2 text和keyword 2.1 简介 ElasticSearc ...

  4. OpenMP Sections Construct 实现原理以及源码分析

    OpenMP Sections Construct 实现原理以及源码分析 前言 在本篇文章当中主要给大家介绍 OpenMP 当中主要给大家介绍 OpenMP 当中 sections construct ...

  5. setInterval()的使用

    setInterval() 作用  这个函数可以将一个函数每隔一段时间执行一次 参数  1.回调函数,该函数会每隔一段时间被调用一次  2.每次调用间隔的时间,单位是毫秒 返回值  返回一个Numbe ...

  6. 队列——queue的用法(及洛谷B3616)

    队列的概念 在说队列之前,先回忆一下栈是什么,我们一般说栈是一个先进后出的数据结构,而队列就是先进先出的数据结构. 队列是定在表的一端进行插入,表的另一端进行删除. 通常,我们称进数据的一端为队尾,出 ...

  7. JZOJ 2020.02.25【NOIP提高组】模拟A 组

    闲话 难度似乎比之前的简单了一些 但是难的题还是很难(我太菜了) 总结 针对三个题,先罗列正解所涉及的算法:字符哈希,组合数学,点分治 最后一个不会 组合数学?还好吧 字符哈希? 放在 \(T1\) ...

  8. LAMP环境搭建——最详细的手工编译

    环境:阿里云服务器ECS,Alibaba Cloud Linux 3.2104 LTS 64位 ,2核(vCPU) 2 GiB LAMP 是搭建Web应用时最常用的环境,LAMP 分别表示 Linux ...

  9. DESIR队列:早期axSpA的脊柱放射学进展

    DESIR队列:早期axSpA的脊柱放射学进展 EULAR2015; PresentID: FRI0234 SPINAL RADIOGRAPHIC PROGRESSION IN EARLY AXIAL ...

  10. fields设计与测试

     菲尔兹管理用例 一.向开发找到需求ID 需求设计文档ID 二.在fields的需求列表中,填入ID,创建计划 1.状态:测试接手 2.日期:冒烟日期,测试日期 3.可能遇到的问题: * 搜不到ID ...