日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

7. QFile读写文件的基本操作「建议收藏」(官方中文网站)

發(fā)布時(shí)間:2023/12/19 综合教程 35 生活家
生活随笔 收集整理的這篇文章主要介紹了 7. QFile读写文件的基本操作「建议收藏」(官方中文网站) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. 小文件文件的讀寫

1.1 讀取文件中所有的數(shù)據(jù)

	QFile file(fileName); // fileName文件的路徑
if(file.open(QIODevice::ReadOnly))  // 以讀寫的方式打開文件
return ;	
QByteArray data = file.readAll();  //方式1. 將文件的數(shù)據(jù)全部讀取出來(lái)
int fileSize = file.size();   	   // 獲取文件的長(zhǎng)度(單位:字節(jié))
data = file.read(fileSize);        // 方式2. 將文件的所有數(shù)據(jù)讀取出來(lái)
// 從指定的位置開始讀取
file.seek(100) // 這是設(shè)置從100的位置讀取
data = file.read(1000) // 從100的位置讀取1000個(gè)字節(jié)
file.close();                      // 使用完畢把文件關(guān)閉

1.2 一行一行的讀取文件的數(shù)據(jù)

	QFile file(fileName); // fileName文件的路徑
if(file.open(QIODevice::ReadOnly))  // 以讀的方式打開文件
return ;
while(!file.atEnd()) // 判斷文件是否結(jié)束
{ 

// 每讀取一行數(shù)據(jù),游標(biāo)seek會(huì)自動(dòng)往下跳,所以當(dāng)seek到達(dá)末尾是atEnd()返回true
QByteArray data =  file.readLine();  
}
file.close();

1.3 將數(shù)據(jù)寫入文件中

	QFile file(fileName); // fileName文件的路徑
if(file.open(QIODevice::WriteOnly))  // 以寫的方式打開文件
return ;
QByteArray data ;
data.resize(10);
memset(data.data(),0x00,data.size());
file.write(data);
file.close();

1.4 通過(guò)內(nèi)存映射讀寫文件

uchar *QFileDevice::map(qint64 offset, qint64 size, MemoryMapFlags flags = NoOptions)
  1. 從offset開始將文件大小字節(jié)映射到內(nèi)存中。為了使映射成功,應(yīng)該打開一個(gè)文件,但在映射內(nèi)存之后,文件不需要保持打開狀態(tài)。當(dāng)QFile被銷毀或使用此對(duì)象打開一個(gè)新文件時(shí),任何未被取消映射的映射將自動(dòng)取消映射。
  2. 映射將具有與文件相同的打開模式(讀和/或?qū)?,除非使用MapPrivateOption,在這種情況下,總是可以寫入映射的內(nèi)存。
  3. 返回一個(gè)指向內(nèi)存的指針,如果有錯(cuò)誤則返回0。
	QFile file(fileName); // fileName文件的路徑
if(file.open(QIODevice::WriteOnly))  // 以寫的方式打開文件
return ;
uchar* pfile = file.map(0, file.size());  // 返回一個(gè)指向內(nèi)存的指針,如果有錯(cuò)誤則返回0
if(pfile)
{ 

// do work 
// memcpy(pfile,data.data(),size); // 寫入數(shù)據(jù)
// memcpy(data.data(),pfile,size); // 讀取數(shù)據(jù)
file.unmaps(pfile); // 取消映射 其實(shí)QFile對(duì)象被摧毀或者打開一個(gè)新的文件會(huì)自動(dòng)取消映射
}
file.close();

2. 大文件的讀寫

在進(jìn)行大文件讀寫是采用分段讀寫的思想,將大文件所有拆成一塊一塊的讀寫。

	QFile file(fileName); // fileName文件的路徑
if(file.open(QIODevice::WriteOnly))  // 以寫的方式打開文件
return ;
qint64 fileSize = file.size(); // 文件的長(zhǎng)度
int readSize = 1024*1024 ;  // 每一次讀取的數(shù)據(jù)長(zhǎng)度,可以自由設(shè)置
// file.pos()獲取文件游標(biāo)的位置
while(!file.atEnd())  
{ 

QByteArray data = file.read(readSize )
} 
file.close();

總結(jié)

以上是生活随笔為你收集整理的7. QFile读写文件的基本操作「建议收藏」(官方中文网站)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩毛片一区二区三区 | 久久久96人妻无码精品 | 午夜寂寞影院在线观看 | 超碰91在线 | yy4138理论片动漫理论片 | 朝桐光av在线一区二区三区 | 色婷婷av一区二区三区麻豆综合 | 黄色大片儿 | 亚洲av无码精品色午夜 | 欧美怡红院视频 | 免费一级片| 婷婷导航 | 露出调教羞耻91九色 | 18无码粉嫩小泬无套在线观看 | 国产免费一区二区三区网站免费 | 99热这里只有精品久久 | 精品久久综合 | 亚洲综合在线成人 | 在线黄网 | 久草久操 | 伊人365 | 中文字幕免费一区 | 日韩精品久久久久久久电影99爱 | 国产亚洲精品美女久久久 | 国产精品第100页 | 日韩欧美一级大片 | 国产字幕侵犯亲女 | 激情视频91 | 日韩av电影手机在线观看 | 免费毛片小视频 | 狠狠干女人 | 久操福利 | 日韩欧美高清dvd碟片 | 国产精品99久久久久久宅男 | 7777精品视频| 中国超碰 | 婷婷调教口舌奴ⅴk | 欧美一道本 | 成人福利社 | 国产丝袜自拍 | 久久香焦| 久啪视频| 欧美极品少妇 | 日韩精品免费一区二区三区竹菊 | 在线免费观看毛片 | 做爰视频毛片视频 | 中文在线天堂网 | 日本黄色一区 | 日韩色图在线观看 | 国产69精品一区二区 | 色呦呦国产精品 | av不卡高清 | 亚洲AV无码成人精品区明星换面 | a色视频 | 久久夜色精品国产噜噜亚洲av | 91av免费看| 自宅警备员在线观看 | 国产一级一片免费播放 | 欧美变态口味重另类 | 国产91丝袜| 91成人精品国产刺激国语对白 | 久久视频在线观看 | 日本人妻丰满熟妇久久久久久 | 婷婷深爱五月 | 99热香蕉| 泰坦尼克号3小时49分的观看方法 | 亚洲狼人天堂 | 50度灰在线 | 久久亚洲AV成人无码国产野外 | 人人草人人草 | 骚av在线| 日韩人妻精品中文字幕 | 欧美图片一区二区 | 国产精品xxx在线 | 亚洲成人mv | 亚洲综合在线成人 | 香蕉成视频人app下载安装 | 动漫美女露胸网站 | 欧美性猛交 | 久久精品国产亚洲AV黑人 | 国产精品国产三级国产普通话对白 | wwwxx在线观看 | 国产又粗又深又猛又爽又在线观看 | 啪啪亚洲 | 喷水少妇 | a√天堂在线 | 久久久久国产精品一区二区 | 最新一区二区三区 | 日本三级在线视频 | 久久精视频 | 午夜国产福利在线 | 伊人成长网 | 亚洲2022国产成人精品无码区 | jizz免费在线观看 | 一级特黄aaaaaa大片 | 巨物撞击尤物少妇呻吟 | 乱lun合集男男高h | 大胸美女被爆操 | 日韩性生活大片 |