日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > > 充電吧
[導(dǎo)讀]1. 判斷文件夾是不是存在參數(shù)說(shuō)明:QString fullPath;//文件夾全路徑/*方法1*/bool isDirExist(QString fullPath){? ? QDir dir(ful

1. 判斷文件夾是不是存在
參數(shù)說(shuō)明:
QString fullPath;//文件夾全路徑
/*方法1*/
bool isDirExist(QString fullPath)
{
? ? QDir dir(fullPath);
? ? if(dir.exists())
? ? {
? ? ? return true;
? ? }
? ? return false;
}
/*方法2*/
bool isDirExist(QString fullPath)
{
? ? QFileInfo fileInfo(fullPath);
? ? if(fileInfo.isDir())
? ? {
? ? ? return true;
? ? }
? ? return false;
}

2. 判斷文件是不是存在
參數(shù)說(shuō)明:
QString fullFileName;//文件全路徑(包含文件名)
/*方法1*/
bool isFileExist(QString fullFileName)
{
? ? QFileInfo fileInfo(fileFullName);
? ? if(fileInfo.isFile())
? ? {
? ? ? ? return true;
? ? }
? ? return false;
}

3、判斷文件或文件夾是不是存在(即不確定字符串是文件還是文件夾路徑)
參數(shù)說(shuō)明:
QString fullFilePath;//路徑名
/*方法1*/
bool isFileExist(QString fullFilePath)
{
? ? QFileInfo fileInfo(fullFilePath);
? ? if(fileInfo.exists())
? ? {
? ? ? ? return true;
? ? }
? ? return false;
}
/*方法2*/
bool isFileExist(QString fullFilePath)
{
? ? QFile file(fullFilePath);
? ? if(file.exists())
? ? {
? ? ? ? return true;
? ? }
? ? return false;
}

4、判斷文件夾是否存在,不存在則創(chuàng)建
/*方法1*/
bool isDirExist(QString fullPath)
{
? ? QDir dir(fullPath);
? ? if(dir.exists())
? ? {
? ? ? return true;
? ? }
? ? else
? ? {
? ? ? ?bool ok = dir.mkdir(fullPath);//只創(chuàng)建一級(jí)子目錄,即必須保證上級(jí)目錄存在
? ? ? ?return ok;
? ? }
}
/*方法1*/
bool isDirExist(QString fullPath)
{
? ? QDir dir(fullPath);
? ? if(dir.exists())
? ? {
? ? ? return true;
? ? }
? ? else
? ? {
? ? ? ?bool ok = dir.mkpath(fullPath);//創(chuàng)建多級(jí)目錄
? ? ? ?return ok;
? ? }
}

5、以下為摘錄的其他網(wǎng)絡(luò)測(cè)試代碼
{
? ? QFileInfo fi("C:/123"); ? ? ? ? ? ? ? ? ? ? // 目錄存在
? ? qDebug() << fi.isFile(); ? ? ? ? ? ? ? ? ? ?// false
? ? qDebug() << fi.isDir(); ? ? ? ? ? ? ? ? ? ? // true
? ? qDebug() << fi.exists(); ? ? ? ? ? ? ? ? ? ?// true
? ? qDebug() << fi.isRoot(); ? ? ? ? ? ? ? ? ? ?// false
? ? qDebug() << QFile::exists("C:/123"); ? ? ? ?// true
? ? qDebug() << QDir("C:/123").exists(); ? ? ? ?// true

? ? fi.setFile("C:/ABC"); ? ? ? ? ? ? ? ? ? ? ? // 目錄不存在
? ? qDebug() << fi.isFile(); ? ? ? ? ? ? ? ? ? ?// false
? ? qDebug() << fi.isDir(); ? ? ? ? ? ? ? ? ? ? // false
? ? qDebug() << fi.exists(); ? ? ? ? ? ? ? ? ? ?// false
? ? qDebug() << fi.isRoot(); ? ? ? ? ? ? ? ? ? ?// false
? ? qDebug() << QFile::exists("C:/ABC"); ? ? ? ?// false
? ? qDebug() << QDir("C:/ABC").exists(); ? ? ? ?// false

? ? fi.setFile("C:/"); ? ? ? ? ? ? ? ? ? ? ? ? ?// 存在的驅(qū)動(dòng)器
? ? qDebug() << fi.isFile(); ? ? ? ? ? ? ? ? ? ?// false
? ? qDebug() << fi.isDir(); ? ? ? ? ? ? ? ? ? ? // true
? ? qDebug() << fi.exists(); ? ? ? ? ? ? ? ? ? ?// true
? ? qDebug() << fi.isRoot(); ? ? ? ? ? ? ? ? ? ?// true
? ? qDebug() << QFile::exists("C:/"); ? ? ? ? ? // true
? ? qDebug() << QDir("C:/").exists(); ? ? ? ? ? // true

? ? fi.setFile("Z:/"); ? ? ? ? ? ? ? ? ? ? ? ? ?// 不存在的驅(qū)動(dòng)器
? ? qDebug() << fi.isFile(); ? ? ? ? ? ? ? ? ? ?// false
? ? qDebug() << fi.isDir(); ? ? ? ? ? ? ? ? ? ? // false
? ? qDebug() << fi.exists(); ? ? ? ? ? ? ? ? ? ?// false
? ? qDebug() << fi.isRoot(); ? ? ? ? ? ? ? ? ? ?// false
? ? qDebug() << QFile::exists("Z:/"); ? ? ? ? ? // false
? ? qDebug() << QDir("Z:/").exists(); ? ? ? ? ? // false

? ? fi.setFile("C:/123.lnk"); ? ? ? ? ? ? ? ? ? // 快捷方式存在且指向的文件也存在
? ? qDebug() << fi.isFile(); ? ? ? ? ? ? ? ? ? ?// true
? ? qDebug() << fi.isDir(); ? ? ? ? ? ? ? ? ? ? // false
? ? qDebug() << fi.exists(); ? ? ? ? ? ? ? ? ? ?// true
? ? qDebug() << fi.isRoot(); ? ? ? ? ? ? ? ? ? ?// false
? ? qDebug() << QFile::exists("C:/123.lnk"); ? ?// true
? ? qDebug() << QDir("C:/123.lnk").exists(); ? ?// false

? ? fi.setFile("C:/456.lnk"); ? ? ? ? ? ? ? ? ? // 快捷方式存在但指向的文件不存在
? ? qDebug() << fi.isFile(); ? ? ? ? ? ? ? ? ? ?// false
? ? qDebug() << fi.isDir(); ? ? ? ? ? ? ? ? ? ? // false
? ? qDebug() << fi.exists(); ? ? ? ? ? ? ? ? ? ?// false
? ? qDebug() << fi.isRoot(); ? ? ? ? ? ? ? ? ? ?// false
? ? qDebug() << QFile::exists("C:/456.lnk"); ? ?// false
? ? qDebug() << QDir("C:/456.lnk").exists(); ? ?// false
}
可以看到,容易讓人感到混亂的是exists方法,這個(gè)方法是通用的判斷方法,可以看成是這樣的表達(dá)式
exists() == (isFile() || isDir())?

也就是說(shuō)判斷文件或文件夾是否存在單純用exists方法是不嚴(yán)謹(jǐn)?shù)?br />比如你的本意是判斷文件是否存在,但文件不存在,而恰巧有個(gè)同名的文件夾,那么exists也會(huì)返回true。文件夾也是同理

根據(jù)上面的代碼作出的一點(diǎn)總結(jié)

準(zhǔn)確判斷文件是否存在
1.用QFileInfo::isFile()方法?

準(zhǔn)確判斷文件夾是否存在
1.用QFileInfo::isDir()方法
2.用QDir::exists()方法?

不確定字符串是文件還是文件夾路徑
1.用QFileInfo::exists()方法
2.用QFile::exists()方法

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

Qt是一款由Qt公司(前身為T(mén)rolltech)開(kāi)發(fā)的跨平臺(tái)應(yīng)用程序框架。它提供了豐富的功能,包括圖形用戶(hù)界面、數(shù)據(jù)庫(kù)操作、網(wǎng)絡(luò)通信等,使得開(kāi)發(fā)者能夠更加便捷地創(chuàng)建高質(zhì)量、可移植性強(qiáng)的應(yīng)用程序。Qt采用C++編寫(xiě),同時(shí)也...

關(guān)鍵字: QT RTOS

摘 要 :為解決制鞋行業(yè)中噴膠精度不高、靈活性差、生產(chǎn)效率低的問(wèn)題,設(shè)計(jì)一種基于機(jī)器視覺(jué)的鞋模噴膠系統(tǒng)。該系統(tǒng)硬件由工業(yè)攝像頭、工控機(jī)及路由器構(gòu)成,軟件則采用圖像識(shí)別庫(kù) OpenCV 與圖形界面應(yīng)用程序開(kāi)發(fā)框架 Qt 編...

關(guān)鍵字: 機(jī)器視覺(jué) 圖像處理 鞋模 噴膠 OpenCV QT

嵌入式系統(tǒng)是指以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專(zhuān)用計(jì)算機(jī)系統(tǒng)。

關(guān)鍵字: QT 嵌入式 C++

摘 要:倉(cāng)儲(chǔ)作為物流與供應(yīng)鏈的核心環(huán)節(jié),對(duì)食品安全的控制起著至關(guān)重要的作用。溫濕度是影響糧食倉(cāng)儲(chǔ)過(guò)程安全與品質(zhì)的重要因素。文中使用無(wú)線(xiàn)傳感網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)采集,通過(guò)Qt平臺(tái)設(shè)計(jì)軟件系統(tǒng),并借助數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)存儲(chǔ)與分析處理,實(shí)...

關(guān)鍵字: 成品糧 倉(cāng)儲(chǔ) 溫濕度監(jiān)測(cè) 無(wú)線(xiàn)傳感網(wǎng)絡(luò) QT

在此部件上繪制行號(hào),并將其放置在CodeEditor的viewport()的左邊距區(qū)域上,QWidget類(lèi)也可以幫助我們對(duì)其內(nèi)容進(jìn)行滾動(dòng)。

關(guān)鍵字: QT 代碼編輯器

不管是Qt新手還是開(kāi)發(fā)過(guò)qt的群體來(lái)說(shuō),對(duì)Qt Designer、Qt Quick Designer、Qt Creator這幾個(gè)應(yīng)用程序肯定是熟悉的。

關(guān)鍵字: QT IDE C

在當(dāng)今社會(huì),人們的生活水平普遍提高,工作強(qiáng)度越來(lái)越大,營(yíng)養(yǎng)的過(guò)剩和運(yùn)動(dòng)量的減少,導(dǎo)致心腦血管疾病的發(fā)病率是越來(lái)越高。

關(guān)鍵字: Linux QT GPRS 遠(yuǎn)程集群式 心臟病人實(shí)時(shí)診斷系

qt值得學(xué)習(xí)嗎? 嵌入式要學(xué)的東西真的很多,我們可能會(huì)說(shuō)不寫(xiě)界面的話(huà)就不用學(xué)qt了?我不贊同。

關(guān)鍵字: 嵌入式 QT UI

什么是qt?簡(jiǎn)單點(diǎn)說(shuō),Qt 就是一個(gè)跨平臺(tái)的 C++ 圖形用戶(hù)界面庫(kù),可以同時(shí)支持桌面應(yīng)用程序開(kāi)發(fā)、嵌入式開(kāi)發(fā)和移動(dòng)開(kāi)發(fā),覆蓋了現(xiàn)有的所有主流平臺(tái)。

關(guān)鍵字: QT 程序 開(kāi)發(fā)

qt值得學(xué)習(xí)嗎? 嵌入式要學(xué)的東西真的很多,我們可能會(huì)說(shuō)不寫(xiě)界面的話(huà)就不用學(xué)qt了?我不贊同,原因是……

關(guān)鍵字: 嵌入式 QT
關(guān)閉