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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS学习之iOS沙盒(sandbox)机制和文件操作(二)

發布時間:2025/4/5 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS学习之iOS沙盒(sandbox)机制和文件操作(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

接上篇?

iOS學習之iOS沙盒(sandbox)機制和文件操作(一)

?

?

我們看看如何獲取應用程序沙盒目錄。包括真機的沙盒的目錄。

?

1、獲取程序的Home目錄

?

[cpp]?view plaincopy
  • NSString?*homeDirectory?=?NSHomeDirectory();??
  • NSLog(@"path:%@",?homeDirectory);??
  • ?

    打印結果:

    [cpp]?view plaincopy
  • 2012-06-17?14:00:06.098?IosSandbox[3536:f803]?/Users/rongfzh/Library/Application?Support/iPhone?Simulator/5.1/Applications/3B8EC78A-5EEE-4C2F-B0CB-4C3F02B996D2??
  • 那在真機上的目錄有是怎么樣的呢?我們看看

    2012-06-17 14:25:47.059 IosSandbox[4281:f803]?/var/mobile/Applications/3B8EC78A-5EEE-4C2F-B0CB-4C3F02B996D2

    可見,真機上的目錄是/var/mobile/Applications/這個目錄下的,和模擬器不一樣。這個是Home目錄,其他的子目錄和模擬器一樣。

    ?

    2、獲取document目錄

    [cpp]?view plaincopy
  • NSArray?*paths?=?NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,?NSUserDomainMask,?YES);??
  • NSString?*path?=?[paths?objectAtIndex:0];??
  • NSLog(@"path:%@",?path);??
  • 打印結果

    ?

    ?

    [cpp]?view plaincopy
  • 2012-06-17?14:00:06.099?IosSandbox[3536:f803]?path:/Users/rongfzh/Library/Application?Support/iPhone?Simulator/5.1/Applications/3B8EC78A-5EEE-4C2F-B0CB-4C3F02B996D2/Documents??
  • 3、獲取Cache目錄

    ?

    ?

    [cpp]?view plaincopy
  • NSArray?*paths?=?NSSearchPathForDirectoriesInDomains(NSCachesDirectory,?NSUserDomainMask,?YES);??
  • NSString?*path?=?[paths?objectAtIndex:0];??
  • NSLog(@"%@",?path);??
  • 打印結果

    [cpp]?view plaincopy
  • 2012-06-17?14:03:50.431?IosSandbox[3628:f803]?/Users/rongfzh/Library/Application?Support/iPhone?Simulator/5.1/Applications/3B8EC78A-5EEE-4C2F-B0CB-4C3F02B996D2/Library/Caches??

  • 4、獲取Library目錄

    ?

    ?

    [cpp]?view plaincopy
  • NSArray?*paths?=?NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,?NSUserDomainMask,?YES);??
  • NSString?*path?=?[paths?objectAtIndex:0];??
  • NSLog(@"%@",?path);??
  • 打印結果

    [cpp]?view plaincopy
  • 2012-06-17?14:07:17.544?IosSandbox[3733:f803]?/Users/rongfzh/Library/Application?Support/iPhone?Simulator/5.1/Applications/3B8EC78A-5EEE-4C2F-B0CB-4C3F02B996D2/Library??
  • 5、獲取Tmp目錄

    [cpp]?view plaincopy
  • NSString?*tmpDir?=?NSTemporaryDirectory();??
  • ?NSLog(@"%@",?tmpDir);??
  • 打印結果

    ?

    ?

    [cpp]?view plaincopy
  • 2012-06-17?14:08:07.824?IosSandbox[3782:f803]?/var/folders/g7/246bh79130zblw0yjjtc55cw0000gn/T/??
  • 6、寫入文件

    [cpp]?view plaincopy
  • NSArray?*paths?=?NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,?NSUserDomainMask,?YES);??
  • ????NSString?*docDir?=?[paths?objectAtIndex:0];??
  • ????if?(!docDir)?{??
  • ????????NSLog(@"Documents?目錄未找到");??????????
  • ????}??
  • ????NSArray?*array?=?[[NSArray?alloc]?initWithObjects:@"內容",@"content",nil];??
  • ????NSString?*filePath?=?[docDir?stringByAppendingPathComponent:@"testFile.txt"];??
  • ????[array?writeToFile:filePath?atomically:YES];??
  • ?

    注:我們在真機上也運行一下,把文件寫入,下一步從真機上把內容讀取出來。

    寫入輸入 array ,里面是兩個字符串,一會我們讀出來打印。

    寫入我們在程序沙盒目錄下看到文件 testFile.txt

    ?

    打開文件看到的內容是這樣的,是個xml格式的plist文件,數據格式保存了內容。

    ?

    [cpp]?view plaincopy
  • <?xml?version="1.0"?encoding="UTF-8"?>??
  • <!DOCTYPE?plist?PUBLIC?"-//Apple//DTD?PLIST?1.0//EN"?"http://www.apple.com/DTDs/PropertyList-1.0.dtd">??
  • <plist?version="1.0">??
  • <array>??
  • ????<string>內容</string>??
  • ????<string>content</string>??
  • </array>??
  • </plist>??
  • 7、讀取文件

    ?

    ?

    [cpp]?view plaincopy
  • NSArray?*paths?=?NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,?NSUserDomainMask,?YES);??
  • ????NSString?*docDir?=?[paths?objectAtIndex:0];??
  • ????NSString?*filePath?=?[docDir?stringByAppendingPathComponent:@"testFile.txt"];??
  • ????NSArray?*array?=?[[NSArray?alloc]initWithContentsOfFile:filePath];??
  • ????NSLog(@"%@",?array);??
  • 打印結果:

    ?

    把上面的文件解析后,把內容打印出來了。

    ?

    [cpp]?view plaincopy
  • 2012-06-17?14:14:46.249?IosSandbox[3918:f803]?(??
  • ????"\U5185\U5bb9",??
  • ????content??
  • )??
  • ?

    真機上讀取并打印文件路徑:

    ?

    2012-06-17 14:25:47.059 IosSandbox[4281:f803]?/var/mobile/Applications/3B8EC78A-5EEE-4C2F-B0CB-4C3F02B996D2/Documents/testFile.txt

    ?(

    ?

    ? ? "\U5185\U5bb9",

    ? ? content

    )

    真機上也能寫入和打印。

    著作權聲明:本文由http://blog.csdn.net/totogo2010/原創,歡迎轉載分享。請尊重作者勞動,轉載時保留該聲明和作者博客鏈接,謝謝

    ?

    總結

    以上是生活随笔為你收集整理的iOS学习之iOS沙盒(sandbox)机制和文件操作(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。