【Qt之QFileInfo】使用

news2024/11/19 19:25:09

描述

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_WIN

QFileInfo 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 file

  QDir::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();
    // bundleName
    qDebug() << "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.coloradmin.cn/o/1252356.html

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

相关文章

强化学习,快速入门与基于python实现一个简单例子(可直接运行)

文章目录 一、什么是“强化学习”二、强化学习包括的组成部分二、Q-Learning算法三、迷宫-强化学习-Q-Learning算法的实现全部代码&#xff08;复制可用&#xff09;可用状态空间检查是否超出边界epsilon 的含义更新方程 总结 一、什么是“强化学习” 本文要记录的大概内容&am…

python自动化测试——自动化基本技术原理

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

【教学类-06-11】20231125(55格版)X-Y之间“除法÷题”(以1-9乘法口诀表倒推)(随机抽取和正序抽取)

图片展示 &#xff08;随机打乱排序&#xff09; 正序&#xff08;每张都一样&#xff09; 背景需求&#xff1a; 前面三篇写到了随机加法、随机减法、随机乘法&#xff0c;既然做了三套&#xff0c;怎么能不试试最后一款“除法”呢 模仿乘法版本&#xff0c;制作打乱版和正…

【手写实现一个简单版的Dubbo,深刻理解RPC框架的底层实现原理】

手写实现一个简单版的Dubbo&#xff0c;深刻理解RPC框架的底层实现原理 RPC框架简介了解Dubbo的实现原理服务暴露服务引入服务调用 手写实现一个简单版的Dubbo服务暴露ServiceBeanProxyFactory#getInvokerProtocol#exportRegistryProtocol#export 服务引入RegistryProto#referD…

3、点亮一个LED

新建工程 project—>New uVision Project LED介绍 中文名&#xff1a;发光二极管 外文名&#xff1a;Light Emitting Diode 简称&#xff1a;LED 用途&#xff1a;照明、广告灯、指引灯 电路图分析 进制的转换 生成下载文件&#xff1a; 代码 //导包 #inclu…

Keil5个性化设置及常用快捷键

Keil5个性化设置及常用快捷键 1.概述 这篇文章是Keil工具介绍的第三篇文章&#xff0c;主要介绍下Keil5优化配置&#xff0c;以及工作中常用的快捷键提高开发效率。 第一篇&#xff1a;《安装嵌入式单片机开发环境Keil5MDK以及整合C51开发环境》https://blog.csdn.net/m0_380…

leetcode刷题详解——买卖股票的最佳时机含手续费

1. 题目链接&#xff1a;714. 买卖股票的最佳时机含手续费 2. 题目描述&#xff1a; 给定一个整数数组 prices&#xff0c;其中 prices[i]表示第 i 天的股票价格 &#xff1b;整数 fee 代表了交易股票的手续费用。 你可以无限次地完成交易&#xff0c;但是你每笔交易都需要付手…

PostgreSQL 分区表插入数据及报错:子表明明存在却报不存在以及column “xxx“ does not exist 解决方法

PostgreSQL 分区表插入数据及报错&#xff1a;子表明明存在却报不存在以及column “xxx“ does not exist 解决方法 问题1. 分区表需要先创建子表在插入&#xff0c;创建子表立马插入后可能会报错子表不存在&#xff1b;解决&#xff1a; 创建子表及索引后&#xff0c;sleep10毫…

动态规划经典例题leetcode思路代码详解

目录 动态规划基础篇例题 leetcode70题.爬楼梯 leetcode746题.使用最小花费爬楼梯 leetcode198题.打家劫舍 leetcode62题.不同路径 leetcode64题.最小路径和 leetcode63题.63不同路径II 动态规划基础篇例题 这一篇的例题解答是严格按照我上一篇写的动态规划三部曲做的&…

中职组网络安全-linux渗透测试-Server2203(环境+解析)

任务环境说明&#xff1a; 服务器场景&#xff1a;Server2203&#xff08;关闭链接&#xff09; 用户名&#xff1a;hacker 密码&#xff1a;123456 1.使用渗透机对服务器信息收集&#xff0c;并将服务器中SSH服务端口号作为flag提交&#xff1b; FLAG:2232 2. 使用渗透机对…

chrome 调试之 - 给微软小冰看病(无论给小冰发送什么内容都只回复“我已经开始升级啦,期待一下吧!”)

微软 Bing 搜索推出了小冰AI智能聊天模块&#xff0c;具体启用方式是用edge或chrome浏览器打开链接 cn.bing.com 后在输入框搜索任意内容&#xff0c;待搜索结果页面加载完并稍等片刻&#xff0c;页面右侧就会出现一个躲在滚动条后面的小萝莉&#xff0c;抚摸...不&#xff0c;…

音频——S/PDIF

文章目录 BMC 编码字帧(sub-frame)格式帧(frame)格式参考S/PDIF 是 SONY 和 Philips 公司共同规定的数字信号传输规范,其实就是在 AES/EBU 上进行改动的家用版本。IEC60958 的标准规范囊括了以上两个规范。spdif 采用了双相符号编码(BMC),是将时钟信号和数据信号混合在一起…

python:傅里叶分析,傅里叶变换 FFT

使用python进行傅里叶分析&#xff0c;傅里叶变换 FFT 的一些关键概念的引入&#xff1a; 1.1.离散傅里叶变换&#xff08;DFT&#xff09; 离散傅里叶变换(discrete Fourier transform) 傅里叶分析方法是信号分析的最基本方法&#xff0c;傅里叶变换是傅里叶分析的核心&…

数据库设计规范(收藏)

本文的目的是提出针对Oracle数据库的设计规范&#xff0c;使利用Oracle数据库进行设计开发的系统严格遵守本规范的相关约定&#xff0c;建立统一规范、稳定、优化的数据模型。 参照以下原则进行数据库设计&#xff1a; 方便业务功能实现、业务功能扩展&#xff1b;方便设计开发…

爪语言 之 如何处理Java异常?

以小我融入大我,青春献给祖国 目录 1.异常的概念与体系 1.1异常的概念 1.2 异常的体系 1.3 异常的分类 2. 异常的处理 2.1 防御式编程 2.2异常的抛出 2.3 异常的捕获 2.3.1 异常声明throws 2.3.2 try-catch捕获并处理 2.3.3 finally 2.4 异常的处理流程总结 3. 自定…

Jmeter性能综合实战——签到及批量签到

提取性能测试的三个方面&#xff1a;核心、高频、基础功能 签 到 请 求 步 骤 1、准备工作&#xff1a; 签到线程组 n HTTP请求默认值 n HTTP cookie 管理器 n 首页访问请求 n 登录请求 n 查看结果树 n 调试取样器 l HTTP代理服务器 &#xff08;1&#xff09;创建线…

h5小游戏--2048

2048 经典2048小游戏&#xff0c;基于JS、Html5改写版 效果预览 点我下载源代码 下载代码解压后&#xff0c;双击index.html即可开始本游戏。 Game Rule 游戏规则 以下为游戏默认规则&#xff0c;若需要修改规则请修改代码。 移动箭头键来移动方块&#xff0c;当两个相同数…

一定要会用selenium的等待,三种等待方式解读

​很多人问&#xff0c;这个下拉框定位不到、那个弹出框定位不到…各种定位不到&#xff0c;其实大多数情况下就是两种问题&#xff1a; 有frame 没有加等待 殊不知&#xff0c;你的代码运行速度是什么量级的&#xff0c;而浏览器加载渲染速度又是什么量级的&#xff0c;就好…

【cf 158 c】

给你一个整数数组 a1,a2,…,an ( )。在一次操作中&#xff0c;你可以选择一个整数 x ( )&#xff0c;并用 ⌊⌋ 替换 ai ( ⌊y⌋ 表示将 y 舍入为最接近的整数)。 来替换从 1 到 n 的所有 i。请注意&#xff0c;每次操作都会影响数组中的所有元素。打印使数组中所有元素相等所…

SparkSQL之Optimized LogicalPlan生成过程

经过Analyzer的处理&#xff0c;Unresolved LogicalPlan已经解析成为Analyzed LogicalPlan。Analyzed LogicalPlan中自底向上节点分别对应Relation、Subquery、Filter和Project算子。   Analyzed LogicalPlan基本上是根据Unresolved LogicalPlan一对一转换过来的&#xff0c;…