資料持久化 將資料寫入到本地 檔案管理

2021-07-04 17:10:09 字數 3173 閱讀 5346

viewcontroller.m

#import "viewcontroller.h"

#import "student.h"

@inte***ce

viewcontroller ()

@end

@implementation

viewcontroller

- (void)viewdidload

nslog(@"%@",[arr1[1]name]);

#warning summary :資料持久化的步驟

// 1.指定前往哪乙個資料夾

// 2.用字串接收路徑

// 3.拼接檔案路徑

// 4.寫入本地或者歸檔操作

// 5.反歸檔

// 注 :如果是複雜物件歸檔,要簽訂nscoding方法,並且實現兩個協議方法,放在陣列裡的複雜物件歸檔也要籤協議

// 單例

nsuserdefaults *defaults=[nsuserdefaults standarduserdefaults];

[defaults setobject:@"123456" forkey:@"password"];

nsarray *sandbox=nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes);

nslog(@"%@",sandbox[0]);

// 取值方法和字典相同,但是不可以用方括號的方法取值

nslog(@"%@",[defaults objectforkey:@"password"]);

// nsuserdefaults一般存放的是小得資料,比如字串等,它的用法和字典類似

//-------資料夾管理-------//

// 通過檔案管理者對資料夾進行操作

// 1.在document資料夾下建立乙個新的資料夾

nsarray *sandbox=nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes);

nsstring *sandboxpath=sandbox[0];

nslog(@"%@",sandboxpath);

// 建立乙個檔案管理者

nsfilemanager *manager=[nsfilemanager defaultmanager];

// 給要建立的資料夾拼接乙個路徑

// 通過manager進行資料夾的建立

[manager createdirectoryatpath:filepath withintermediatedirectories:yes attributes:nil error:nil];

nslog(@"%@",filepath);

// 向新建立的資料夾裡寫入乙個字串

nsstring *str=@"笨蛋";

[str writetofile:guyupath atomically:yes encoding:nsutf8stringencoding error:nil];

nslog(@"%@",guyupath);

// 移除資料夾

[manager removeitematpath:filepath error:nil];

nslog(@"%@",guyupath);// 移除之後就找不到資料夾了

nsarray *cache=nssearchpathfordirectoriesindomains(nscachesdirectory, nsuserdomainmask, yes);

nsstring *cachepath=cache[0];

// 移除快取檔案

[manager removeitematpath:cachepath error:nil];

nslog(@"%@",sandboxpath);

}

student.h

#import 

#pragma mark 如果想實現歸檔和反歸檔的操作需要先簽訂乙個協議nscoding

@inte***ce

student : nsobject

@property(nonatomic,copy)nsstring *name;

@property(nonatomic,assign)nsinteger age;

@property(nonatomic,copy)nsstring ****;

@property(nonatomic,copy)nsstring *hobby;

// 針對這四條屬性,寫乙個自定義初始化方法和便利構造器

-(instancetype)initwithname:(nsstring *)name age:(nsinteger )age ***:(nsstring *)*** hobby:(nsstring *)hobby;

+(instancetype)studentwithname:(nsstring *)name age:(nsinteger )age ***:(nsstring *)*** hobby:(nsstring *)hobby;

@end

student.m

#import "student.h"

@implementation

student

-(instancetype)initwithname:(nsstring *)name age:(nsinteger )age ***:(nsstring *)*** hobby:(nsstring *)hobby

return

self;

}+(instancetype)studentwithname:(nsstring *)name age:(nsinteger )age ***:(nsstring *)*** hobby:(nsstring *)hobby

#pragma mark 簽完nscoding協議之後,需要實現兩個協議方法,乙個歸檔的時候使用的,另乙個是反歸檔的時候使用的

-(void)encodewithcoder:(nscoder *)acoder

-(id)initwithcoder:(nscoder *)adecoder

return

self;

}@end

寫入資料java將資料寫入到csv檔案

這兩天一直在查詢寫入資料之類的問題,下午正好有機會和大家討論一下.對於csv件文,因為要將資料分離的寫入到個一每單元格中。用什麼來開分以後單元格和下乙個單元格之間呢?這裡就用到了 逗號可以割分單元格。舉例說明 我們這裡用乙個輸出流將資料寫入到csv件文中 fileoutputstream fos n...

檔案寫入mysql 如何將大檔案寫入到資料庫中

最近利用空閒時間自己在寫乙個檔案備份工具,因為我磁碟上的很多檔案很重要,例如很多ppt和講義。所以需要經常備份,而且因為這些檔案很多,所以需要增量備份。我嘗試用過windows自帶的ntbackup工具,但感覺不是很爽。它不支援壓縮備份,而且介面也有點複雜。為了響應偉大領袖的 自力更生,豐衣足食 的...

將CString寫入到本地檔案中,unicode

1 c語言 void writepacket2file cstring packet str packet str為待寫入的字串 fseek pfile,0,seek end if ftell pfile 1 1024 1024 如果大於6m,重新建立文字 uses conversion char ...