【Qt之QFileInfo】使用

描述

QFileInfo类提供了与系统无关的文件信息。
QFileInfo提供有关文件的名称和位置(路径)在文件系统中的信息,以及它的访问权限、是否为目录或符号链接等。还可以获取文件的大小和最后修改/读取时间。QFileInfo还可以用于获取关于Qt资源的信息。
QFileInfo可以指向具有相对或绝对文件路径的文件。绝对文件路径以目录分隔符“/”(或在Windows上以驱动器规范开头)。相对文件名以目录名或名开头,并指定相对于当前工作目的路径。绝对路径的示例是字符串“/tmp/quartz”。相对路径可能看起来像“src/fatlib”。可以使用函数isRelative()检查QFileInfo是否使用对或绝对文件路径您可以调用函数makeAbsolute()将相对QFileInfo的路径转换为绝对路径。
QFileInfo所操作的文件在构造函数中或以后通过set()设置。使用exists()来检查文件是否存在,size()来获取文件。
可以使用isFile()isDir()isSymLink()获取文件的类型。symLinkTarget()函数提供了符号链接指向的文件的名称。
在Unix(括macOS和iOS)上,符号链接与指向的文件相同大小(),因为Unix透明处理符号链接;同样,使用QFile打开符号链接实际上打开了链接的目标。例如:

#ifdef Q_OS_UNIX
QFileInfo info1("/home/bob/bin/untify");
info1.isSymLink();          // returns true
info1.absoluteFilePath();   // returns "/home/bob/bin/untabify"
info1.size();               // returns 56201
info1.symLinkTarget();      // returns "/opt/pretty++bin/untabify"QFileInfo info2(info1.symLink());
info2.isSymLink();          // returns false
info2.absoluteFilePath();   // returns "/opt/pretty++/bin/untabify"
info2.size(); // returns 56201
#endif

在Windows上,符号链接(快捷方式)是.lnk文件。报告的size()是符号链接的大小(而不是链接的目标),使用QFile打开符号链接会打开.lnk。例如:

#ifdef Q_OS_WINQFileInfo info1("C:\\Documents and Settings\\Bob\\untabify.lnk");
info1.isSymLink();          // returns true
info1.absoluteFilePath();   // returns "C:/Documents and Settings/Bob/untabify.lnk"
info1.size();               // returns 743
info1.symLinkTarget();      // returns "C:/Pretty++/abify"QFileInfo info2(info1.symLinkTarget());
info2.isSymLink();          returns false
info2.absoluteFilePath();   // returns "CPretty++/untabify"
info2.size();               returns 63942#endif

可以使用path()fileName提取文件名的元素。可以使用baseName()suffix()completeSuffix()提取fileName()的各个部。由Qt类创建的FileInfo对象的目录将不具有尾部文件分隔符。如果希望在自己的文件信息对象中使用尾分隔符,只需将其附加到构造函数或setFile()给定的文件名即可。
文件的日期由created()、lastModified()和lastRead()返回。可以使用isReadable()、isWritable()和is()获取有关文件的访问权限的信息。文件的所有权可以从owner()、ownerId、group()和groupId()中获取。可以使用permission()一次性检查文件的权限和所有权。
注意:在NTFS文件系统上,默认情况下禁用所有权和权限检查,以提高性能。要启用它,请包含以下行:

extern Q_CORE_EXPORT int qt_ntfs_permission_lookup;

然后通过递增和递减qt_ntfs_permission_lookup 1次来打开和权限检查。

qtfs_permission_lookup++; // turn on
qt_ntfs_permission--; // turn it off again

常用函数及示例

  • QFileInfo::QFileInfo()
    构造一个空的QFileInfo对象。

  • QFileInfo::QFileInfo(const QString &file)
    构造一个新的QFileInfo,提供关于给定文件的信息。该文件还可以包括绝对或相对路径。

  • QFileInfo::QFileInfo(const QFile &file)
    构造一个新的QFileInfo,提供关于文件file的信息。
    文件具有相对路径QFileInfo也将具有相对路径。

  • QFileInfo::QFileInfo(const QDir &dir, const QString &file)
    构造一个新的QFileInfo,提有关目录dir中定文件的信息。
    如果dir具有相对路径,FileInfo也将具有相路径。
    如果file是绝对路径,则会忽略指定的目录。

  • QFileInfo::QFileInfo(const Q &fileinfo)
    构造一个新的QFileInfo,是给定fileinfo的本。

  • QFileInfo::~QFileInfo()
    销毁QFileInfo并释放其资源。

  • QDir QFileInfo::absoluteDir() const
    返回文件的绝对路径作为QDir对象。

  • QString QFileInfo::absoluteFilePath() const
    返回包括文件名在内的绝对路径。
    绝对路径名称由完整路径和文件名组成在Unix上,它始以根目录’/'开头的路径。在Windows上,它始终以D:/”开头,其中D是一个驱器号,但不包括未映射到驱动器的网络共享,此时路径将以“//sharename/”开头。Q将驱动器号写。请注意,QT不会这样做。下面的代码段展了这一点。

   QFileInfo fi("c:/temp/foo"); => fi.absoluteFilePath() => "C:/temp/foo"

该函数与filePath()返回相同,除非isRelative为true。与canonicalFilePath()不同,符号链接或多余的“.”“…”元素不一定会被删除。
注意:如果filePath()为空此函数的行为未定义。

  • QString QFileInfo::absolutePath() const
    返回文件的绝对路径,不包文件名。
    在Unix上,绝对路径将始终根目录’/'头的路径。在Windows上,它始终以“D:/”开头,其中D是驱动器号,但不包括未映射到驱动器号的网络共享,此时路径以“//sharename/”开头。
    与canonicalPath() 不同,符号或多余的“.”“…”元素不一定会被删除。
    警告:如果filePath()为空,则此函数的行为未定义。

  • QString QFileInfo::baseName() const
    返回文件基本名称,不包括路径。
    基本名称文件中的所有字符组,直到(但不包括)第一个“.”字符。
    例如:

  QFileInfo fi("/tmp/archive.tar.gz");QString base = fi.baseName();  // base = "archive"

文件的基本名称在所有平台上计算方式相同,文件命名约定无关(例如,在Unix上,“.bashrc”的基本名称为空,后缀是“rc”)。

  • QString QFileInfo::bundleName const
    返回bundle的名称。
    在macOS和iOS上,如果路径是Bundle,则返回Bundle的正确本地化名称。在所有平台上,返回空的QString。
    示例:
  QFileInfo fi("/Applications/Safari.app");QString bundle = fi.bundleName();                // name = "Safari"
  • bool QFileInfo::caching() const
    如果启用了缓存,则返回true;否则返回false。

  • QString QFileInfo::canonicalFilePath() const
    返回包括文件名的规范路径,即没有符号或冗余的"."或…"元素的绝对路径。
    如果文件不存在,canonicalFilePath()返回一个空字符串。

  • QString QFileInfo::canonicalPath() const
    返回文件的规范路径(不包括文件名即没有符号链接或冗余的".“或”…"元素的绝对路径如果文件不存在,canonicalPath()返回一个空字符串。

  • QString QFileInfo::completeBaseName() const
    返回不带路径的文件的完整基本名称。
    完整的基本名称由中最后一个’.'字符之前的所有字符组成。
    示例:

  QFileInfo fi("/tmp/archive.tar.gz");QString base = fi.completeBaseName();  // base = "archive.tar"
  • QString QFileInfo::completeSuffix() const
    返回文件的完整后缀(扩展名)。
    完整扩展名由文件中第一个’.'之后的所有字符组成。
    示例:
  QFileInfo fi("/tmp/archive.tar.gz");QString ext = fi.completeSuffix();  // ext = "tar.gz"
  • QDateTime QFileInfo::created() const
    文件创建的日期和本地时间。
    在大多数Unix系统上,该函数返回最后一次状态更改的时间状态更改发生在文件创建时,但也会在用户写入或设置inode信息时发生(例如,更改文件权限)。
    既不可用创建时间不可用“最一次状态更改”时间,则返回与lastModified()同的时间。

  • QDir QFileInfo::dir() const
    以Dir对象的形式返回对象的父目录路径。
    注意:返回的QDir始终对应于对象的父目录,即使QFileInfo表示一个目录。
    对于以下每个示例,dir()将返回Dir"~/examples/697"。

      QFileInfo fileInfo1("~/examples/191697.");QFileInfo fileInfo2("~/examples/191697/");QFileInfo fileInfo3("~/examples/191697/main.cpp");

对于以下每个示例,dir()将返回Dir"."。

      QFileInfo fileInfo4(".");Q fileInfo5("..");QFileInfo fileInfo6("main.cpp");
  • bool QFileInfo::exists() const
    如果文件存在,则返回true;否则返回false。
    注意:如果是一个指向不存在文件的符号链接,则返回false

  • [statis] bool QFileInfo::exists(const QString &file)
    如果文件存在,则返回true;否则返回false。
    注意:如果file是一个指不存在文件的符号链接返回false。
    注意:与使用QFileInfo(file).exists()进行文件系统访问相比,使用此函数更快速。

  • QString QFileInfo::fileName() const
    返回文件的,不包括路径。
    示例:

  QFileInfo fi("/tmp/archive.tar.gz");QString name = fi.fileName();                // 名称为"archive.tar.gz"

注意,如果这个QFileInfo对象给出斜杠结尾的路径文件的名称被认是空的。

  • QString QFileInfo::filePath() const
    返回包括路径文件名(可以是绝对或相对的)。

  • QString QFileInfo::group() const
    返回文件所属的组。在Windows上,以及文件没有组的上,或者出现错误时,返回空字符串。
    在Unix系统上,这个函数可能需要一些时间(几毫秒级)。

  • uint QFileInfo::groupId() const
    返回文件所的组的ID。
    对于没有组的系统和Windows系统,该函数总是返回(uint)-2。

  • bool QFileInfo::isAbsolute() const
    如果文件路径名是绝对的,则返回true,否则如果路径是相对的则返回false。

  • bool QFileInfo::isBundle() const
    如果此对象指向macOS和iOS上的一个bundle或bundle的符号链接,则返回true;否则返回false。

  • bool QFileInfo::isDir() const
    如果此对象指向一个目录或目录的符号链接,则返回true;否则返回false。

  • bool QFileInfo::isExecutable() const
    如果文件可执行,则返回true否则返回false。

  • bool QFileInfo::isFile() const
    如果此对象指向一个文件或文件的符号链接,则返回true。如果对象指向不是文件的东西,比如一个目录,则返回false。

  • bool QFileInfo::isHidden() const
    如果这是一个“隐藏”文件,则返回true;否则返回false。
    注意:这个函数在Unix上对于特殊的条目“.”和“…”也返回,尽管QDir::List对待它们不是这样。

  • bool QFileInfo::isNativePath() const
    如果文件路径可以直接在本机API使用,则返回true。如果文件由Qt内部的虚拟文件系统支持,例如Qt资源系统,则返回false。
    注意:根据平台和本机API的输入要求,本机路径可能仍然需要转换分隔符和字符编码。

  • bool QFileInfo::isReadable() const
    如果用户可以读取该文件,则返回true;否则返回false。
    注意:如果未启用NTFS权限检查,在Windows上的结果仅反映文件是否存在。

  • bool QFileInfo::isRelative() const
    如果文件路径名是相对的,则返回true;否则false(例如,在Unix上,如果路径以“/”开头,则是绝对路径)。

  • bool QFileInfo::isRoot() const
    如果该对象指向一个目录或目录的符号链接,并且该目录是根目录,则返回true;否则返回false。

  • bool QFileInfo::isSymLink() const
    如果此对象指向一个符号链接,则返回true;否则返回false。符号链接存在于Unix(包括macOS和iOS和Windows上,并且通常由ln -s 或者 mklink命令创建。打开符号链接实际上是打开链接目标。
    此外,在上,对于快捷方式(*.lnk文件),也将返回true。打开它们将打开.lnk文件本身。
    示:

  QFileInfo info(fileName);if (info.isSymLink())fileName = info.symLinkTarget();

注意:如果号链接指向一个不存在文件,则exists()返回false。

  • bool QFileInfo::isWritable() const
    如果用户可以写入文件,则返回true;否则返回false。
    注意:如果未启用NTFS权限检查,则在Windows上的结果将只反映文件是否标记为只读。

  • QDateTime QFileInfo::lastModified() const
    返回文件上次修改的日期和本地时间。

  • QDateTime QFileInfo::lastRead() const
    返回文件上次读取(访问)的日期和本地时间。
    在不支持此信息的平台上,返回与lastModified()相同的结果。

  • bool QFileInfo::makeAbsolute()
    如果文件的路径不是绝对路径,则将其转换为绝对路径。返回true表示路径已经转换;否则返回false表示路径已经是绝对路径。

  • QString QFileInfo::owner() const
    返回文件的所有者。在没有所有者的文件系统或发生错误时,返回空字符串。
    在Unix下,此函数可能需要时间(大约几毫秒)。在Windows下,除非启用了NTFS权限检查,否则将返回空字符串。

  • uint QFileInfo::ownerId() const
    返回文件的所有者ID。
    在Windows和没有文件所有者的系统上,此函数返回((uint) -2)。

  • QString QFileInfo::path() const
    返回文件的路径。不包括文件名。
    请注意,如果此QFileInfo对象给出以斜杠结尾的路径,则文件名被视为空,此函数将返回整个路径。

  • bool QFileInfo::permission(QFile::Permissions permissions) const
    测试文件权限。permissions参数可以是QFile :: Permissions类型的多个标志的OR结果,以检查权限组合。
    在没有文件权限的系统上,此函数始终返回true。
    注意:如果未启用NTFS权限检查,在Windows上的结果可能不准确。
    示例:

  QFileInfo fi("/tmp/archive.tar.gz");if (fi.permission(QFile::WriteUser | QFile::ReadGroup))qWarning("I can change the file; my group can read the file");if (fi.permission(QFile::WriteGroup | QFile::WriteOther))qWarning("The group or others can change the file");
  • QFile :: Permissions QFileInfo::permissions() const
    返回文件的完整OR-ed组合QFile :: Permissions。
    注意:如果未启用NTFS权限检查,在Windows上的结果可能不准确。

  • void QFileInfo::refresh()
    刷新文件的信息,即在下次获取缓存属性时从文件系统中读取信息。

  • void QFileInfo::setCaching(bool enable)
    如果enable为true,则启用文件信息的缓存。如果enable为false,则禁用缓存。
    当启用缓存时,QFileInfo在第一次需要文件信息时从文件系统中读取文件信息,但通常不会在以后读取。
    缓存默认启用。

  • void QFileInfo::setFile(const QString &file)
    将QFileInfo所提供的有关文件的信息设置为file。
    文件也可以包括绝对或相对文件路径。绝对路径以目录分隔符开始(例如Unix下的"/")或驱动器规范(Windows下)。相对文件名以目录名或文件名开头,并指定相对于当前目录的路径。
    示例:

  QString absolute = "/local/bin";QString relative = "local/bin";QFileInfo absFile(absolute);QFileInfo relFile(relative);QDir::setCurrent(QDir::rootPath());// absFile and relFile now point to the same fileQDir::setCurrent("/tmp");// absFile now points to "/local/bin",// while relFile points to "/tmp/local/bin"
  • void QFileInfo::setFile(const QFile &file)
    这是一个重载函数。
    将QFileInfo所提供的有关文件的信息设置为file。
    如果file包含相对路径,QFileInfo也将具有相对路径。

  • void QFileInfo::setFile(const QDir &dir, const QString &file)
    这是一个重载函数。
    将QFileInfo所提供的有关文件的信息设置为目录dir中的文件。
    如果file包含相对路径,QFileInfo也将具有相对路径。

  • qint64 QFileInfo::size() const
    以字节为单位返回文件大小。如果文件不存在或无法获取,则返回0。

  • QString QFileInfo::suffix() const
    返回文件的后缀(扩展名)。
    后缀是指文件中最后一个’.'之后的所有字符。
    示例:

  QFileInfo fi("/tmp/archive.tar.gz");QString ext = fi.suffix();  // ext = "gz"

文件的后缀在所有平台上都是相同计算的,与文件命名约定无关(例如,在Unix上的".bashrc"具有空的基本名称,后缀为"bashrc")。

  • void QFileInfo::swap(QFileInfo &other)
    将该文件信息与其他文件信息交换。此函数非常快且不会失败。

  • QString QFileInfo::symLinkTarget() const
    返回符号链接指向的文件或目录的绝对路径,如果对象不是符号链接,则返回空字符串。
    此名称可能不表示现有文件;它只是一个字符串。如果符号链接指向现有文件,则QFileInfo::exists()将返回true。

完整示例及结果输出

#include <QCoreApplication>
#include <QFileInfo>
#include <QDebug>
#include <QDateTime>
int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);// 指定要检查的文件或目录的路径QString path = "C:\\Users\\80943\\Desktop/test.txt.txt";// 创建一个QFileInfo对象,并传入文件或目录的路径QFileInfo fileInfo(path);// 检查是否是目录if(fileInfo.isDir()) {qDebug() << "It's a directory.";} else {qDebug() << "It's not a directory.";}// 创建时间qDebug() << "created: " << fileInfo.created();// 获取基础名称qDebug() << "Base name: " << fileInfo.baseName();// 完整基础名称qDebug() << "completeBaseName: " << fileInfo.completeBaseName();// 获取文件路径qDebug() << "File path: " << fileInfo.filePath();// 获取绝对文件路径qDebug() << "Absolute file path: " << fileInfo.absolutePath();// 是否是相对路径qDebug() << "Relative file path: " << fileInfo.isRelative();// 获取后缀qDebug() << "Suffix: " << fileInfo.suffix();// 完整后缀qDebug() << "completeSuffix: " << fileInfo.completeSuffix();// 文本名称qDebug() << "fileName: " << fileInfo.fileName();// bundleNameqDebug() << "bundleName: " << fileInfo.bundleName();// 检查文件或目录是否存在if(fileInfo.exists()) {qDebug() << "It exists.";} else {qDebug() << "It doesn't exist.";}// 检查是否使用了缓存if(fileInfo.isReadable()) {qDebug() << "It's readable.";} else {qDebug() << "It's not readable.";}return a.exec();
}

输出

在这里插入图片描述

应用场景

  1. 文件选择和打开:可以使用QFileInfo来获取选中文件的路径、名称和属性,进而打开和操作该文件。
  2. 文件比较:QFileInfo可以获取文件的许多属性,包括大小、修改时间等,可以用于比较两个文件是否相同或有何异同。
  3. 文件搜索:QFileInfo可以配合QDir一起使用,用于在特定目录或其子目录中查找文件。可以根据文件名、大小、修改时间等属性进行搜索。
  4. 权限管理:QFileInfo可以用于检查用户对文件的访问权限,例如判断用户是否有权读取、写入或执行该文件。
  5. 文件展示:可以将QFileInfo获取的文件信息展示给用户,例如在文件浏览器或资源管理器中显示文件的详细信息。

结论

愿你眼里的星星温柔泛滥

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/169802.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于java技术的社区交易二手平台

基于java技术的社区交易二手平台的设计与实现 &#xff08;一&#xff09;开发背景 随着因特网的日益普及与发展&#xff0c;更多的人们开始通过因特网来寻求便利。但是&#xff0c;许多人都觉得网上商店里的东西不贵。所以&#xff0c;有些顾客宁愿去那些用二次定价建立起来的…

kafka精准一次、事务、幂等性

Kafka事务 消息中间件的消息保障的3个级别 At most once 至多一次。数据丢失。At last once 至少一次。数据冗余Exactly one 精准一次。好&#xff01;&#xff01;&#xff01; 如何区分只要盯准提交位移、消费消息这两个动作的时机就可以了。 当&#xff1a;先消费消息、…

Java基准测试工具JMH的简介与使用

JMH是一套Java基准测试工具&#xff0c;用于对Java执行进行基准测试以及生成测试报告。平时应用于Java一些基础Api或者一些工具类这种离开网络因素的纯系统测试。 使用方式 maven引入&#xff1a; <dependency><groupId>org.openjdk.jmh</groupId><art…

2024北京理工大学计算机考研分析

24计算机考研|上岸指南 北京理工大学 计算机学院始建于1958年&#xff0c;是全国最早设立计算机专业的高校之一。2018年4月&#xff0c;计算机学院、软件学院、网络科学与技术研究院合并成立新的计算机学院。学院累计为国家培养各类人才15000余名。计算机科学学科ESI排名进入全…

Lombok新版超全面使用教程

一、Lombok介绍 Lombok是一个Java库&#xff0c;可以通过注解来简化Java类的编写&#xff0c;减少冗余的样板代码。它提供了一系列的注解&#xff0c;用于自动生成常见的代码&#xff0c;如getter和setter方法、构造函数、equals和hashCode方法、toString方法等。通过使用Lomb…

论文阅读——Prophet(cvpr2023)

一、Framework 这个模型分为两阶段&#xff1a;一是答案启发生成阶段&#xff08;answer heuristics generation stage&#xff09;&#xff0c;即在一个基于知识的VQA数据集上训练一个普通的VQA模型&#xff0c;产生两种类型的答案启发&#xff0c;答案候选列表和答案例子&am…

使用SpringBoot集成FastDFS

使用SpringBoot集成FastDFS 这篇文章我们介绍如何使用 Spring Boot 将文件上传到分布式文件系统 FastDFS 中。 1、FastDFS FastDFS是一个开源的轻量级分布式文件系统&#xff0c;它对文件进行管理&#xff0c;功能包括&#xff1a;文件存储、文件同步、文件访问 &#xff0…

vue2-006——使用脚手架搭建vue2项目+项目结构分析

一、创建项目&#xff1a;vue create 项目名 D:\EnyiWang\Documents\myStudy\vue>vue create vue_testVue CLI v5.0.8 ? Please pick a preset: Default ([Vue 2] babel, eslint)Vue CLI v5.0.8 ✨ Creating project in D:\EnyiWang\Documents\myStudy\vue\vue_test. &am…

设计测试用例的具体方法总结

&#x1f4d1;打牌 &#xff1a; da pai ge的个人主页 &#x1f324;️个人专栏 &#xff1a; da pai ge的博客专栏 ☁️白马沉河共歃誓&#xff0c;怒涛没城亦不悔 ☁️基于需求进行测试用例的设计 基…

[环境配置]vscode免密ssh的设置流程

测试环境&#xff1a; windows 11 ubuntu16.04 vmware 第一步&#xff1a;生成密钥 cmd打开输入&#xff1a;ssh-keygen -t rsa 一路回车后可以在C:\Users\用户名\.ssh路径看到id_rsa.pub&#xff0c;我们打开这个文件&#xff0c;用记事本打开即可&#xff0c;然后复制里…

“不得了·放飞杯” 2023年四川省健身健美锦标赛启动在成都隆重召开

“不得了放飞杯” 2023年四川省健身健美锦标赛启动在成都隆重召开 为了更好地推动四川省健身健美运动的普及和发展&#xff0c;结合《四川全民健身实施计划》的现状&#xff0c;适应新时代健身私教服务产业的发展需求&#xff0c;由中国健美协会指导&#xff0c;四川省健美健美…

BUUCTF [MRCTF2020]Ez_bypass 1

题目环境&#xff1a;F12查看源代码 I put something in F12 for you include flag.php; $flagMRCTF{xxxxxxxxxxxxxxxxxxxxxxxxx}; if(isset($_GET[gg])&&isset($_GET[id])) { $id$_GET[id]; $gg$_GET[gg]; if (md5($id) md5($gg) && $id ! $gg) { …

鸿蒙 ark ui 网络请求 我不允许你不会

前言&#xff1a; 最近有在学习这个鸿蒙的ark ui开发 因为鸿蒙不是发布了一个鸿蒙next的测试版本 明年会启动纯血鸿蒙应用 所以我就想提前给大家写一些博客文章 效果图 11-24 16:26:22.005 25156-25156/com.example.httpsrequest E A0ff00/HTTPS: 请求状态 --> 200, %{pub…

串口虚拟化工具

串口虚拟工具(Configure Virtual Serial Port Driver v7.2) 可以虚拟化串口 串口成对添加&#xff0c;添加之后可以在设备管理器中查看 链接&#xff1a;https://pan.baidu.com/s/1WE9c28MEoSEY7fGhy4kjag 提取码&#xff1a;yahn DebugTool-v.16 作用&#xff1a;可以检验…

区块链技术将如何影响未来的数字营销?

你是否听腻了区块链和数字营销等流行语&#xff0c;却不明白它们对未来意味着什么&#xff1f;那么&#xff0c;准备好系好安全带吧&#xff0c;因为区块链技术将彻底改变我们对数字营销的看法。从建立消费者信任到提高透明度和效率&#xff0c;其可能性是无限的。 让我们来探…

加速 Selenium 测试执行最佳实践

Selenium测试自动化的主要目的是加快测试过程。在大多数情况下&#xff0c;使用 Selenium 的自动化测试比手动测试执行得特别好。在实际自动化测试实践中&#xff0c;我们有很多方式可以加速Selenium用例的执行。 我们可以选择使用不同类型的等待、不同类型的 Web 定位器、不同…

[Docker]十一.Docker Swarm集群raft算法,Docker Swarm Web管理工具

一.Docker Swarm集群raft算法讲解 Raft &#xff1a;一致性算法&#xff0c;在保证大多数管理节点存活的情况下&#xff0c;集群才能使用&#xff0c; 所以就要求如果集群的话&#xff0c; manager 节点必须 >3 台 &#xff0c;如果是两个台&#xff0c;其中一台宕机&#…

彩纸屋在线少儿编程源码/scratch在线编程系统/培训管理系统源码/在线培训系统源码PHP

源码简介&#xff1a; 彩纸屋在线少儿编程源码&#xff0c;它是scratch在线编程系统&#xff0c;作为培训管理系统源码/在线培训系统源码&#xff0c;采用PHP源码。 彩纸屋是全国首家提供scratch开源定制和少儿编程培训管理系统源代码的服务商&#xff0c;彩纸屋提供的scratc…

一条Update语句的执行过程是怎样的?

先看第一个问题&#xff0c;这里做个简单描述 &#xff0c;因为我们着重还是看Update MySQL执行一条Select语句是怎么运行的&#xff1f; 这个问题大家在面试的时候大家都背过类似的题&#xff0c;而且网上也有很多答案&#xff0c;这里分享一个大致流程介绍&#xff0c;关于…

工业级 S25HS01GTDPBHV030 NOR闪存,L9305EP汽车级驱动器IC,LMK03318RHSR时钟发生器,PLL(中文资料)

一、工业级 S25HS01GTDPBHV030 Semper™ NOR闪存 S25HS01GT SEMPER™ NOR Flash闪存系列是英飞凌高性能、安全而可靠的 NOR Flash解决方案。 它集成了适用于汽车、工业、通信等广泛应用的关键安全功能。 凭借 SEMPER™ NOR Flash闪存&#xff0c;英飞凌推出了业界首款符合 ASI…