iOS-沙盒路径总结、文件管理NSFileManager总结
//
// ViewController.m
// 沙盒操作
//
// Created by mncong on 15/11/26.
// Copyright © 2015年 mancong. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//到达沙盒根路径
[self getHomePath];
//获取Document路径
[self getDocumentsPath];
//获取Library目录路径
[self getLibraryPath];
//获取Library中的Cache路径
[self getCachePath];
//获取temp路径
[self getTempPath];
//NSString类路径的处理
[self dealWithPath];
//NSData处理
[self dealWithData];
//文件管理
[self dealWithNSaFileManager];
//获取文件中文件和文件列表
[self getDirectorys];
}
- (void)getHomePath
{
NSString * homePath = NSHomeDirectory();
NSLog(@"app_home: %@",homePath);
}
- (NSString *)getDocumentsPath
{
NSArray * pathsArr = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSLog(@"%@",pathsArr);
NSString * documentsPath = [pathsArr lastObject];
NSLog(@"app_documentsPath: %@",documentsPath);
return documentsPath;
}
- (void)getLibraryPath
{
NSArray * pathsArr = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString * documentsPath = [pathsArr lastObject];
NSLog(@"app_documentsPath: %@",documentsPath);
}
- (void)getCachePath
{
NSArray * pathsArr = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString * cachePath = [pathsArr lastObject];
NSLog(@"cachePath: %@",cachePath);
}
- (void)getTempPath
{
NSString * tempPath = NSTemporaryDirectory();
NSLog(@"app_tempPath: %@",tempPath);
}
- (void)dealWithPath
{
//操作的路径
NSString * path = @"/Users/apple/testfile.text";
//获取此路径的各个组成部分
NSArray * arr = [path pathComponents];
NSLog(@"%@",arr);
//提取此路径的最后一个组成部分
NSString * lastComponent = [path lastPathComponent];
NSLog(@"%@",lastComponent);
//删除路径的最后一个组成部分
NSString * deleteLastComponent = [path stringByDeletingLastPathComponent];
NSLog(@"%@",deleteLastComponent);
//将path添加到先邮路径的末尾
NSString * addPathToPath = [path stringByAppendingPathComponent:path];
NSLog(@"%@",addPathToPath);
//去除路径最后部分的扩展名
NSString * extension = [path pathExtension];
NSLog(@"%@",extension);
//删除路径最后部分的扩展名
NSString * deletePathExtension = [path stringByDeletingPathExtension];
NSLog(@"%@",deletePathExtension);
//路径最后部分追加扩展名(注意:方法已经拼接了一个点号了,不要再加了)
NSString * appendExtension = [path stringByAppendingPathExtension:@"jpg"];
NSLog(@"%@",appendExtension);
}
- (void)dealWithData
{
//1.NSString与NSData转换
NSString * string1 = @"1234abcd";
NSData * data1 = [string1 dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"data1: %@",data1);
NSString * string2 = [[NSString alloc] initWithData:data1 encoding:NSUTF8StringEncoding];
NSLog(@"string2: %@",string2);
//2.NSData与UIImage
//拼接在本工程下的路径
NSString * path = [[NSBundle mainBundle] bundlePath];
NSString * name = [NSString stringWithFormat:@"1.jpg"];
NSString * finalPath = [path stringByAppendingPathComponent:name];
//把路径改为NSData类型
NSData * imageData = [NSData dataWithContentsOfFile:finalPath];
//获取图片
UIImage * image = [UIImage imageWithData:imageData];
//显示在UIimageView上
UIImageView * imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 200)];
imageView.image = image;
[self.view addSubview:imageView];
}
- (void)dealWithNSaFileManager
{
NSError * error;
//创建文件管理
NSFileManager * fileManager = [NSFileManager defaultManager];
//指向文档目录
NSString * documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
NSLog(@"documentsDirectory: %@",documentsDirectory);
//创建一个目录
#warning format之后什么意思 以及后面的参数
[[NSFileManager defaultManager] createDirectoryAtPath:[NSString stringWithFormat:@"%@/myFolder",NSHomeDirectory()] withIntermediateDirectories:YES attributes:nil error:&error];
//1.创建一个文件
NSString * filePath = [documentsDirectory stringByAppendingPathComponent:@"file1.txt"];
NSLog(@"filePath: %@",filePath);
NSString * str = @"需要写入的字符串";
//写入文件
[str writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:&error];
//显示文件目录的内容
NSLog(@"documentsDirectory: %@",[fileManager contentsOfDirectoryAtPath:documentsDirectory error:&error]);
//2.对一个文件重命名
NSString * filePath2 = [documentsDirectory stringByAppendingPathComponent:@"file2.text"];
NSLog(@"%@",filePath2);
if ([fileManager moveItemAtPath:filePath toPath:filePath2 error:&error] != YES)
NSLog(@"Unable to mnove file: %@",error.localizedDescription);
NSLog(@"DocumentsDirectory: %@",[fileManager contentsOfDirectoryAtPath:documentsDirectory error:&error]);
//3.删除一个文件
if ([fileManager removeItemAtPath:filePath2 error:&error] != YES)
NSLog(@"Unable to delete file:%@",error.localizedDescription);
NSLog(@"Documentsdirectory: %@",[fileManager contentsOfDirectoryAtPath:documentsDirectory error:&error]);
}
- (void)getDirectorys
{
NSFileManager * fileManager = [NSFileManager defaultManager];
NSArray * documentsPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString * documentsDirectory = [documentsPaths objectAtIndex:0];
NSError * error = nil;
NSArray * fileList = [NSArray array];
fileList = [fileManager contentsOfDirectoryAtPath:documentsDirectory error:&error];
NSLog(@"fileList: %@",fileList);
//列出给定一个文件夹里的所有子文件夹名
NSMutableArray * dirArray = [NSMutableArray array];
BOOL isDir = NO;
for (NSString * file in fileList) {
NSString * path = [documentsDirectory stringByAppendingPathComponent:file];
[fileManager fileExistsAtPath:path isDirectory:(&isDir)];
if (isDir) {
[dirArray addObject:file];
}
isDir = NO;
}
NSLog(@"Every Thing in the Dir: %@",fileList);
NSLog(@"All folders: %@",dirArray);
}
@end
iOS-沙盒路径总结、文件管理NSFileManager总结的更多相关文章
- ios沙盒路径
http://www.cnblogs.com/ios-wmm/p/3299695.html iOS沙盒路径的查看和使用 NSString *path = NSHomeDirectory();//主目录 ...
- iOS 沙盒路径获取,创建文件
沙盒下主要有四个文件夹:document,caches,tmp,library document 的路径 程序运行时生成的文件,这个文件不要存比较放大的文件,比如音频,视频类,因为这里的东西会被上传 ...
- iOS沙盒路径的查看和使用
1.模拟器沙盒目录 文件都在个人用户名文件夹下的一个隐藏文件夹里,中文叫资源库,他的目录其实是Library. 因为应用是在沙箱(sandbox)中的,在文件读写权限上受到限制,只能在几个目录下读写文 ...
- iOS沙盒路径变化的说明详解
最近用沙盒存储文件的时候发现了一个奇怪的现象,由于业务需要,我会将保存的文件绝对路径保存以便下次读取. 于是发现一个找不到的现象,即上一次保存下的绝对路径,再第二次打开app去查找的时候,发现找不到. ...
- iOS 沙盒路径操作:新建/删除文件和文件夹
http://blog.csdn.net/totogo2010/article/details/7671144
- iOS创建、删除文件夹、获取沙盒路径
1.获取沙盒路径 // 获取沙盒路径 NSString *documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent: ...
- iOS之沙盒机制和如何获取沙盒路径
iOS APP可以在自己的沙盒里读写文件,但是,不可以访问其他APP的沙盒.每一个APP都是一个信息孤岛,相互是不可以进行通信的,唯独可以通过URL Scheme.沙盒里面的文件可以是照片.声音文件. ...
- iOS - 沙盒机制(SandBox)和获取沙盒路径
iOSAPP可以在自己的沙盒里读写文件,但是,不可以访问其他APP的沙盒.每一个APP都是一个信息孤岛,相互是不可以进行通信的,唯独可以通过URLScheme.沙盒里面的文件可以是照片.声音文件.文本 ...
- iOS沙盒(sandbox)机制及获取沙盒路径
一.每个iOS应用SDK都被限制在沙盒中,沙盒相当于一个加了仅主人可见权限的文件夹,苹果对沙盒有以下几条限制. (1).应用程序可以在自己的沙盒里运作,但是不能访问任何其他应用程序的沙盒. (2).应 ...
- iOS沙盒(sandbox)机制及获取沙盒路径
一. 每个iOS应用SDK都被限制在“沙盒”中,“沙盒”相当于一个加了仅主人可见权限的文件夹,苹果对沙盒有以下几条限制. (1)应用程序可以在自己的沙盒里运作,但是不能访问任何其他应用程序的沙盒. ( ...
随机推荐
- centos 6.4 /var/log/secure 不记录日志的問題
先确保日志服务开启:不妨重启下日志服务:由于目前RHEL 6/centos 6已经使用rsyslog替换了syslog.,所以不要在找/etc/syslog.conf了:重启命令:/etc/init. ...
- SMON功能(二):合并空闲区间
SMON的作用还包括合并空闲区间(coalesces free extent) 触发场景 早期Oracle采用DMT字典管理表空间,不同于今时今日的LMT本地管理方式,DMT下通过对FET$和UET$ ...
- AYUI快速开发2016-6-29 ,全部免费,WPF普遍之路梦想开启
下载开发模板:下载 AYUI 6月29日起,免费使用,无需授权,去除所有限制,关爱开发者,不求捐赠,只要你们能私活挣到钱就行,你们没有欠我的.我希望所有人都能开发WPF的东西 使用教程,上面的下载文件 ...
- 前端测试回顾及我们为什么选择Karma
前端测试,或者UI测试一直是业界一大难题.最近Q.js使用Karma作为测试任务管理工具,本文在回顾前端测试方案的同时,也分析下为什么Q.js选用Karma而不是其他测试框架. 像素级全站对比 曾今有 ...
- sqlserver row_number 类似 mysql中 limit 用法
select * from ( select row_number() over(ORDER BY inspecdate desc,inspectime DESC,itemorder asc ) as ...
- ecshop 进入后台登录帐号出现乱码解决方法
进入后台登录帐号出现如果生成乱码 MySQL server error report:Array ( [0] => Array ( [message] => MySQL Query Err ...
- Django 新人开发的十个注意点
总结一下 Django开发中,注意的事项,特别是新人,由于水平有限,也只能到这个层次,更多模式思想性的东西,还得在开发中慢慢体会. 1.各个APP独立,做到项目的模块分明.说的有点大,列几个列子优先 ...
- ORA-12571: TNS:packet writer failure
ORA-12571:TNS:包复写器失效 2007-05-28 22:04 ORA-12571:TNS:包复写器失效 近日一直在做Oracle数据库的搭建(入门),在搭建过程中遇到“ORA-12571 ...
- 通过PowerShell获取域名whois信息
Whois 简单来说,就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人.域名注册商.域名注册日期和过期日期等).通过域名Whois服务器查询,可以查询域名归属者联系方式 ...
- 推荐几个学习Node的网址:
推荐几个学习Node的网址: Nodejs 安装教程 http://jingyan.baidu.com/article/a948d6515d4c850a2dcd2e18.html http://nod ...