1. 程式人生 > >UI沙盒及檔案管理

UI沙盒及檔案管理

沙盒: 

 1.documents 資料  

2.app app本身

 3. tmp 臨時資料夾

 4.library  資源庫     

(1)cache   程式專用的支援檔案       

(2)preferences 引用程式偏好設定 

工程路徑: 工程路徑指的是開發人員在自己的電腦上建立的資料夾的路徑 

沙盒路徑: 沙盒路徑指的是本地的sandbox檔案的路徑 系統單例:  

//當前應用程式物件(可以用來專遞AppDelegate中宣告的一些值)    

//系統引用     UIApplication * app=[UIApplication sharedApplication]; 

//系統引用代理     AppDelegate * appDelegate=[app delegate]; 

//應用程式視窗     UIWindow * w=appDelegate.window;     

//使用者偏好設定     NSUserDefaults * user=[NSUserDefaults standardUserDefaults];    

 //主工程束     NSBundle * mainB=[NSBundle mainBundle];    

 //檔案管理者     NSFileManager * fileManager1=[NSFileManager defaultManager];     //主螢幕     UIScreen * screen=[UIScreen mainScreen];

沙盒路徑操作 //===========================沙盒路徑操作=============================     //使用者根目錄     NSString * homePath=NSHomeDirectory();     NSLog(@"homePath=%@",homePath);        

 //documents目錄(在當前使用者許可權域內搜尋,ios陣列中只有一個成員,mac下可能會有多個)    

 NSString * documentsPath=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory

, NSUserDomainMask, YES) objectAtIndex:0];     NSLog(@"documentsPath=%@",documentsPath);        

 //library目錄    

 NSString * libraryPath=[NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0];     NSLog(@"library=%@",libraryPath);        

 //cache目錄    

 NSString * cachePath=[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)objectAtIndex:0];     NSLog(@"cachePath=%@",cachePath);         

//tmp目錄    

 NSString * tmpPath=NSTemporaryDirectory();    

 NSLog(@"tmpPath=%@",tmpPath);        

 //app目錄    

 NSString * studentPath=[[NSBundle mainBundle]pathForResource:@"studnet" ofType:@"xml"];    

 NSLog(@"studentPath=%@",studentPath);        

 NSString * appPath=[[NSBundle mainBundle]resourcePath];    

 NSLog(@"appPath=%@",appPath);     

NSLog(@"%@",[NSBundle allBundles]);    

 NSLog(@"%@",[NSBundle allFrameworks]);     

NSLog(@"%@",[[NSBundle mainBundle] executablePath]);    

 NSLog(@"%@",[[NSBundle mainBundle] bundlePath]);        

 //preferences 使用者偏好設定     

NSUserDefaults * userDefault=[NSUserDefaults standardUserDefaults];    

 [userDefault setBool:YES forKey:@"背景燈"];    

 [userDefault setInteger:23 forKey:@"20"];    

 [userDefault synchronize];//同步資料 檔案讀寫操作:

 //******************字串讀寫****************************    

 NSString * [email protected]"こんにちは、王冬雲だった";    

 //建立檔案路徑     

NSString * filePath_str=[documentsPath stringByAppendingPathComponent:@"str.txt"];       

  //寫入檔案(如果檔案不存在,先建立對應的檔案,然後寫入)    

 NSError * error=nil;    

 [str writeToFile:filePath_str atomically:YES encoding:NSJapaneseEUCStringEncoding error:&error];   

  if (error) {         NSLog(@"寫入檔案失敗!");     }    

 //從檔案中讀      //按指定編碼方式讀     NSString * str2=[[NSString alloc]initWithContentsOfFile:filePath_str encoding:NSJapaneseEUCStringEncoding error:nil];     NSLog(@"str2=%@",str2);         

 //讀檔案,同時返回它的編碼方式    

 NSStringEncoding  encode;     

NSString * str3=[[NSString alloc]initWithContentsOfFile:filePath_str usedEncoding:&encode error:nil];     

NSLog(@"encode=%u",encode);    

 NSLog(@"str3=%@",str3);

 //************************陣列的讀寫************************     

NSArray * [email protected][@"iphone",@"android",@"symbain"];    

 NSString * arrayFilePath=[documentsPath stringByAppendingFormat:@"/array.txt"];        

 //寫入檔案     [array writeToFile:arrayFilePath atomically:YES];    

 //讀取檔案     

NSArray * array2=[[NSArray alloc]initWithContentsOfFile:arrayFilePath];    

 NSLog(@"array2=%@",array2);        

 //************************字典的讀寫***********************    

 NSDictionary * [email protected]{@"name": @"陳芬",@"age":@"18",@"gender":@"女"};        

 NSString * dicFilePath=[documentsPath stringByAppendingPathComponent:@"dict.txt"];    

 //寫入檔案    

 [dict1 writeToFile:dicFilePath atomically:YES];     

//從檔案中讀     

NSDictionary * dict2=[[NSDictionary alloc]initWithContentsOfFile:dicFilePath];     

NSLog(@"dict2=%@",dict2);

 //********************NSData的讀寫************************     

//UIImage的讀方法     

NSString * imageFilePath=[[NSBundle mainBundle]pathForResource:@"1" ofType:@"png"];     

UIImage * image1=[UIImage imageWithContentsOfFile:imageFilePath];    

 //NSData從檔案中讀    

 NSData * imageData1=[NSData dataWithContentsOfFile:imageFilePath];        

 NSString * document_image_path=[documentsPath stringByAppendingPathComponent:@"xcode.png"];     

//NSData資料寫入檔案    

 [imageData1 writeToFile:document_image_path atomically:YES];    

 //PS:NSData可以通過檔案讀把任何型別轉化成NSData型別,也可以寫入檔案    

 //******************UIImage和NSData之間的相互轉化************    

 //把UIImage型別轉化成NSData型別    

 NSData * imageData2=UIImageJPEGRepresentation(image1, 1);    

 NSData * imageData3=UIImagePNGRepresentation(image1);        

 //把一個圖片的二進位制NSData轉化成一個UIImage型別     

UIImage * image=[UIImage imageWithData:imageData2];     

//********************字串和NSData的之間的相互轉化**************    

 NSString * [email protected]"劉璇";     

//字串轉化成NSData     

NSData * data=[name dataUsingEncoding:NSUTF8StringEncoding];    

//NSData轉化成字串     

NSString * name2=[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];     

NSLog(@"name2=%@",name2);     

NSString * name3=[NSData dataWithBytes:[data bytes] length:10];     

NSLog(@"name3=%@",name3);

相關推薦

UI檔案管理

沙盒:   1.documents 資料   2.app app本身  3. tmp 臨時資料夾  4.library  資源庫      (1)cache   程式專用的支援檔案        (2)preferences 引用程式偏好設定  工程路徑: 工程路徑指的是開

Linux運維之linux下的檔案定址檔案管理

一、Linux的系統結構 1.Linux系統是一個根檔案系統,是一個倒樹型結構(即所有的檔案都來自一個根目錄),最大的目錄名稱叫“/”(根目錄) 2.Linux系統中的二級目錄(根檔案系統下的目錄檔案) (1)/bin          二進位制可執行檔案,系統常規命令 (2

Webview之H5頁面呼叫android的相簿檔案管理

h5頁面開啟圖片管理器 一般頁面在pc開啟檔案管理器是用 type=”file”的程式碼,可是這在android的webview是無效的,必須為webview設定WebChromeClient程式碼如下: 1. mWebview.setWeb

IOS(sandbox)檔案操作(NSFileManager)

目錄: IOS學習之IOS沙盒(sandbox)機制和檔案操作(一) 1、IOS沙盒機制 IOS應用程式只能在為該改程式建立的檔案系統中讀取檔案,不可以去其它地方訪問,此區域被成為沙盒,所以所有的非程式碼檔案都要儲存在此,例如影象,圖示,聲音,映像,屬性列表

iOS 機制檔案操作

沙盒機制簡介  iOS應用程式只能在為該程式建立的檔案目錄下進行檔案的讀寫操作,不可以去其它地方訪問,此檔案區域被成為沙盒。 每個iOS應用都有自己的應用沙盒,應用沙盒就是檔案系統目錄,沙盒對應用程式執行各種操作的規定了區域範圍的許可權限制。 特點:     

iOS文件夾獲取路勁方法

雜誌 str doc contents 緩存 ask type domain sea iPhone沙盒中有四個文件夾,分別是:documents、tmp、app、library. 1、Documents :用戶生成的文檔或數據,或者應用不能重新新創建的數據,存儲在/Docu

開啟檔案iOS

  有時使用資料庫是需要檢視或者更換沙盒裡的資料庫等檔案 那麼如何拿到真機的沙盒   檢視真機沙盒教程 開啟Devices 在xcode的上部導航欄裡,選擇window -> Devices and Simulators ---------------------

Linux 學習之路(十):磁碟檔案系統管理

磁碟及檔案系統管理 檔案系統訪問控制列表 setfacl ​ -b Remove all ​ -m ​ -k 塊點陣圖:bitmap 硬連結:多個檔案的路徑指向同一個inode號 軟連結|符號連結: 該檔案被硬連結的次數 drwxr-x

iOS 通過iTunes共享檔案獲取手機Document目錄

iOS 系統提供了檔案共享支援 當手機通過資料線連線到 Mac 的 iTunes 時, 可以在 iTunes 將電腦上的檔案傳輸到 App 的沙盒目錄當中. 為 App 新增離線資料. 也可以將 App 沙盒目錄下儲存的檔案通過 iTunes 匯出到電腦當中. 使用方式: 其實開發當中需

檔案屬性許可權管理

一、許可權檢視 1.檔案許可權檢視       ls   -l     filename       ll      &n

Laravel -- 檔案管理上傳自定義目錄檔名

開發之路,羊腸九曲,荊棘密佈,幸得高人指點,前輩填坑,一路謹小慎微,終得工程圓滿;其間填坑之經驗,開路之歷程,皆為精華,不可棄之;記錄於此,以便事後回顧,亦想於有相關開發疑惑之同學做參考之用,文中如若有錯,懇請雅正,不勝感激。 Laravel檔案系統 Laravel

第八課-第三講磁碟檔案系統管理詳解之一

一、磁碟管理(詳細的講解硬碟的原理)機械式硬碟---(cpu,記憶體 是電氣裝置)U盤 光碟 軟盤硬碟出廠前有一次“低階格式化”,劃分磁軌分割槽:建立獨立的檔案系統MBR:Master Booter Record 主引導記錄 0盤面 0磁軌 0扇區 512個位元組,不屬於任何一個作業系統。作業系統不能直接訪問

檔案管理相關命令

一、檔案相關的命令 1.rz和sz命令 rz 將檔案從Windows複製至Linux中 sz 將檔案從Linux複製至Windows中 安裝這個工具: ①lsblk 檢視光碟掛載的路徑 ②rpm -ivh /media/CentOS_6.9_Final/Packages/lrzsz-0.12.20-27.

LINUX學習—磁碟檔案系統管理

IO裝置,外部裝置,並不是計算機核心裝置 機械式硬碟: U盤,光碟,軟盤,硬碟,磁帶機 如果不劃分分割槽,說明一個磁碟只能儲存一個檔案系統,劃分後,一個分割槽就是一個檔案系統,即邏輯邊界; 固態硬碟 磁頭懸浮在盤面上方,所以硬碟振盪很容易弄壞硬碟, 磁頭(head)數:每個碟

Linux初級運維(十二)——磁碟檔案系統管理

一、磁碟管理        1、 機械式硬碟:             U盤、光碟、軟盤、硬碟、磁帶  &nb

Linux之初識檔案系統初步管理

一、什麼是檔案系統 計算機的檔案系統是一種儲存和組織計算機資料的方法,它使得對其訪問和查詢變得容易,檔案系統使用檔案和樹形目錄的抽象邏輯概念代替了硬碟和光碟等物理裝置使用資料塊的概念,使用者使用檔案系統來儲存資料不必關心資料實際儲存在硬碟(或者光碟)的地址為多少的資料塊上,只需要記住這個檔案的所

linux下使用者管理檔案許可權管理

本篇部落格主要講解linux的使用者管理以及檔案的許可權管理,主要是一些命令例子,以實際操作為主。該部落格的命令是在centos6.4上執行的。 一、使用者管理 1 新增使用者 2 刪除使用者

Python檔案基本操作上下文管理

檔案基本操作 開啟檔案:f = open(fole_name,mode = 'r'),傳入表示檔案路徑的字串,會返回一個檔案物件,mode是檔案開啟模式。 關閉檔案:f.close(),呼叫給定檔案物件的close方法。 檔案開啟模式: r:以只讀方法開啟檔案,檔案指

使用 ASMCMD 工具管理ASM目錄檔案

                --==============================-- 使用ASMCMD 工具管理ASM目錄及檔案--==============================在ASM例項中,所有的儲存於ASM磁碟組中的檔案對於作業系統命令而言是不可訪問的,因此也無法使用常規的

Linux檔案管理許可權管理(使用者、組、檔案管理)

1、Linux上的檔案管理類命令都有哪些,其常用的使用方法及其相關示例演示 cat命令: 檔案文字檢視工具: cat /etc/fstab cat /etc/passwd cat [OPTION] [FILE]… -n:給顯示的檔案行編號 -E:顯示行結束符$ tac命令: