真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ios開發(fā)讀取文件,ios讀取app文件

iOS開發(fā),plist文件讀寫操作

這里有一點(diǎn)需要注意:

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、成都微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了觀山湖免費(fèi)建站歡迎大家使用!

命名的時候不能用Info.plist , INfo.plist, xxxInfo.plist等形式,否則會與系統(tǒng)中存在的Info.plist文件發(fā)生沖突。

點(diǎn)擊Root這一行,然后通過點(diǎn)擊右鍵-Add Row或者點(diǎn)擊Root后面的加號來增加一行。

這一行中包含三個屬性,key、type、value。其中key是字段屬性,type是字段類型,value是字段對應(yīng)的值。

Type包含7中類型,對寫入的數(shù)據(jù)結(jié)構(gòu)應(yīng)屬于7仲:

(NSString,NSData,NSDate,NSNumber,NSArray,NSDictionary)

讀取數(shù)據(jù)

文件是什么類型,就用什么類型的數(shù)據(jù)來接收

參考文檔1: iOS開發(fā),plist文件讀寫那些事

參考文檔2: iOS開發(fā)中怎么創(chuàng)建Plist文件

參考文檔3: 【iOS】plist無法寫入的原因

參考文檔4: plist 文件寫入與讀取

iOS 如何生成EXCEL文檔和讀取EXCEL文檔

最近開發(fā)一個藍(lán)牙項(xiàng)目,需要導(dǎo)出和導(dǎo)入EXCEL數(shù)據(jù),由于之前沒有接觸這類功能,查閱了相關(guān)資料,最終選擇采用libxlsxwriter庫實(shí)現(xiàn)EXCEL文檔生成、CoreXLSX實(shí)現(xiàn)EXCEL文檔內(nèi)容解析,做個簡單匯總方便以后查閱,費(fèi)話不多說,直接上干貨。

Libxlsxwriter 是一個 C 庫,可用于在 Excel 2007+ XLSX 文件中寫入文本、數(shù)字、公式和指向多個工作表的超鏈接。

具體功能介紹請?zhí)D(zhuǎn)github的庫地址連接:

1、項(xiàng)目地址

2、使用手冊地址

因?yàn)轫?xiàng)目是用swift開發(fā),所以這里主要簡單介紹下swift項(xiàng)目下如何使用:

數(shù)據(jù)格式建議采用Array的方式存儲每一組的數(shù)據(jù),方便數(shù)據(jù)寫入處理

文件名稱根據(jù)實(shí)際需求定義,路徑只需要文件夾路徑拼接文件名即可

創(chuàng)建表格過程如下:

1、生成一張表格

2、創(chuàng)建一個sheet

3、設(shè)置表格的樣式、格式(包含文字格式、文字顏色、對齊方式等)

樣式設(shè)置可參考使用手冊里的說明,這里大概列幾個供參考:

4、關(guān)閉表格創(chuàng)建

如果格式不對或者樣式不喜歡,可以結(jié)合實(shí)際重新設(shè)置

QuickLook的框架詳解請查看:

可以通過QuickLook打開EXCEL文檔,同時QuickLook還集成一系列功能(保存文件、傳送文件等),導(dǎo)出文檔功能可用這個框架實(shí)現(xiàn),具體如何導(dǎo)出請看框架詳解說明即可

可以通過設(shè)置樣式創(chuàng)建各種復(fù)雜的EXCEL表格,文檔說明也非常詳細(xì),用戶很容易就可以利用該框架創(chuàng)建滿足各種需求的EXCEL表格

沒有EXCEL讀取功能,因此讀取功能只能另外處理

至此,一個簡單的EXCEL創(chuàng)建過程已經(jīng)完成。libxlsxwriter功能十分強(qiáng)大, 如果要生成一個復(fù)雜的表格,請仔細(xì)研讀格式設(shè)置說明文檔

CoreXLSX是一個庫,它專注于表示基于XML的XLSX電子表格格式的底層結(jié)構(gòu)。它允許您打開擴(kuò)展名為.xlsx的電子表格存檔,并將其內(nèi)部結(jié)構(gòu)映射到直接用Swift表示的模型類型中。

需要注意的是,此庫僅為.xlsx格式提供只讀支持。由于舊的legacy.xls電子表格格式具有完全不同的內(nèi)部結(jié)構(gòu),如果您需要使用該類型的文件,請參考其他庫。

如果您的.xlsx文件使用ECMA-376敏捷加密(這似乎是最流行的一種),請查看CryptoOffice庫。

項(xiàng)目地址:

可通過系統(tǒng)提供的API打開,如下:

可通過UIDocumentPickerDelegate回調(diào)方法拿到對應(yīng)的文件路徑, 這里需要注意一個細(xì)節(jié) ,如下圖

讀取文件時需要授權(quán),不然有的文件無法讀取,會報沒有權(quán)限的錯誤提示,讀取數(shù)據(jù)完成后,需要關(guān)閉授權(quán)

采用CoreXLSX相關(guān)API去讀取數(shù)據(jù),具體可參考項(xiàng)目文檔說明,因?yàn)轫?xiàng)目在讀取數(shù)據(jù)時需要校驗(yàn)文檔內(nèi)容是否合法,不合法需要提示用戶重新選擇其他文件,校驗(yàn)規(guī)則可根據(jù)實(shí)際需求去做,以下列舉個人項(xiàng)目的簡單校驗(yàn),如下圖

最終rows得到的就是每組的數(shù)據(jù),可通過遍歷獲取對應(yīng)的數(shù)據(jù),如有疑問,請參考官方文檔或者官方DEMO

參考文獻(xiàn):

libxlsxwriter開源庫:

CoreXLSX開源庫:

XlsxReaderWriterSwift開源庫:

謝謝各位的無私奉獻(xiàn)。。。

iOS開發(fā)打開word、excel、ppt、txt、pdf文檔(可在線瀏覽)

非常感謝大家對我的關(guān)注?。。。?/p>

打開文件的方法:

1.獲取文件的沙盒路徑path

2.將path路徑轉(zhuǎn)化URL

3.用webView顯示出來

iOS開發(fā)生成txt文件

一開始我用的方法一寫,但是后來發(fā)現(xiàn)在高系統(tǒng)上報錯(大概報錯內(nèi)容:NSCocoaErrorDomain:257)。

后來解決了,做個記錄。

1、在低于iOS13的系統(tǒng)中。用創(chuàng)建文件夾的形式可以如下:

+ (NSString *)tmpLogPath

{

NSString *docPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library"];

NSString *dirPath = [docPath stringByAppendingPathComponent:@"mylog"];

NSString *filePath = [dirPath stringByAppendingPathComponent:@"tmpLog.txt"];

return filePath;

}

+ (void)writeTmpLog:(NSString *)aMsg

{

NSString *filePath = [[self class] tmpLogPath];

if (![[NSFileManager defaultManager] fileExistsAtPath:filePath]) {

? ? BOOL isDir = NO;

? ? BOOL hasDir = [[NSFileManager defaultManager] fileExistsAtPath:filePath isDirectory:isDir];

? ? if (!hasDir || !isDir) {

? ? ? ? [[NSFileManager defaultManager] createDirectoryAtPath:filePath withIntermediateDirectories:NO attributes:nil error:nil];

? ? }

}

NSError *error;

NSString *content =[NSString stringWithContentsOfFile:filePath

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? encoding:NSUTF8StringEncoding

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? error:error];

NSString *newContent = [NSString stringWithFormat:@"%@\n%@",content,aMsg];

[newContent writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil];

}

+ (void)clearTmpLog

{

NSString *filePath = [[self class] tmpLogPath];

[@"" writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil];

}

2、但是在iOS13上,不能這樣寫。系統(tǒng)會默認(rèn)創(chuàng)建以為***.txt的文件夾,在寫入的時候就出問題了。

會報錯:NSCocoaErrorDomain:257 就是

NSFileReadNoPermissionError = 257,/ /讀取錯誤(權(quán)限問題)

所以可以這樣寫:

+ (NSString *)tmpLogPath {

NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];

NSString *filePath = [documentPath stringByAppendingPathComponent:@"mylog/tmpLog.txt"];

returnfilePath;

}

+ (void)writeTmpLog:(NSString*)aMsg {

NSString*fieldPath = [[self class]tmpLogPath];

NSLog(@"當(dāng)前文件大?。?llu",[self fileSizeWithPath:fieldPath]);

NSFileManager *manager = [NSFileManager defaultManager];

if(![managerfileExistsAtPath:fieldPath]){

? ? NSError*error;

? ? [aMsgwriteToFile:fieldPath atomically:YES encoding:NSUTF8StringEncoding error:error];

? ? if(error) {

? ? ? ? NSLog(@"寫入失敗:%@\n",[error localizedDescription]);

? ? }

}else{

? ? NSError*error;

? ? NSError*writeError;

? ? NSString *content =[NSString stringWithContentsOfFile:fieldPath

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? encoding:NSUTF8StringEncoding

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? error:error];

? ? if(error) {

? ? ? ? NSLog(@"讀取失敗:%@\n",[error localizedDescription]);

? ? }

? ? NSString*newContent = [NSString stringWithFormat:@"%@\n%@",content,aMsg];

? ? [newContentwriteToFile:fieldPath atomically:YES encoding:NSUTF8StringEncoding error:writeError];

? ? if(writeError) {

? ? ? ? NSLog(@"寫入失敗:%@\n",[writeErrorlocalizedDescription]);

? ? }

}

}

//獲取文件大小

+ (unsignedlonglong)fileSizeWithPath:(NSString*)path {

signedlonglongfileSize =0;

NSFileManager *fileManager = [NSFileManager defaultManager];

if([fileManagerfileExistsAtPath:path]) {

? ? NSError*error =nil;

? ? NSDictionary*fileDict = [fileManagerattributesOfItemAtPath:patherror:error];

? ? if(!error fileDict) {

? ? ? ? fileSize = [fileDictfileSize];

? ? }

}

returnfileSize;

}

+ (void)clearTmpLog {

NSError*error;

NSFileManager *manager = [NSFileManager defaultManager];

NSString*filePath = [[selfclass]tmpLogPath];

[managerremoveItemAtPath:filePatherror:error];

if(error) {

? ? NSLog(@"刪除失敗:%@\n",[error localizedDescription]);

}

}

ios關(guān)于文件的讀取

ios關(guān)于文件的讀取有四種方法:

#import foundation foundation.h=""

int main(int argc, const char * argv[])

{

@autoreleasepool

{

//第一種方法: NSFileManager實(shí)例方法讀取數(shù)據(jù)

NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDesktopDirectory, NSUserDomainMask, YES);

NSString* thepath = [paths lastObject];

thepath = [thepath stringByAppendingPathComponent:@"fd_list.txt"];

NSLog(@"桌面目錄:%@", thepath);

NSFileManager* fm = [NSFileManager defaultManager];

NSData* data = [[NSData alloc] init];

data = [fm contentsAtPath:thepath];

NSLog(@"%@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);

//第二種方法: NSData類方法讀取數(shù)據(jù)

data = [NSData dataWithContentsOfFile:thepath];

NSLog(@"NSData類方法讀取的內(nèi)容是:%@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);

//第三種方法: NSString類方法讀取內(nèi)容

NSString* content = [NSString stringWithContentsOfFile:thepath encoding:NSUTF8StringEncoding error:nil];

NSLog(@"NSString類方法讀取的內(nèi)容是:\n%@",content);

//第四種方法: NSFileHandle實(shí)例方法讀取內(nèi)容

NSFileHandle* fh = [NSFileHandle fileHandleForReadingAtPath:thepath];

data = [fh readDataToEndOfFile];

NSLog(@"NSFileHandle實(shí)例讀取的內(nèi)容是:\n%@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);

}

return 0;

}

/foundation


分享題目:ios開發(fā)讀取文件,ios讀取app文件
文章網(wǎng)址:http://weahome.cn/article/dssphpc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部