NSFileManager简单操作

NSFileManager是什么?

通熟易懂的解释:NSFileManager是文件管理者,可以

1.能够创建文件夹, 创建
删除 赋值
移动

2.通过路径查找和拼接

代码演示:

#pragma mark  --NSFileManager 文件管理者
/**
 * 1.能够创建文件夹, 创建 删除 赋值 移动
   2.通过路径
   3.
 */

-(void)initData{

    //文件管理者都是系统的一个单例对象
    NSFileManager *fileManager = [NSFileManager defaultManager];

    //沙盒documents文件夹路径
    NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];

    //沙盒caches文件夹路径
    NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];

    //1.创建文件夹
    NSString *path = [documentsPath stringByAppendingPathComponent:@"DownLoad/image"];

    /*
             方法的调用者:文件管理者
     参数1:想要创建文件夹的路径
     参数2:YES(该路径下创建不存在的文件夹) NO(忽略不存在文件夹,不创建)
     参数3:对所创建的文件夹的相关设置
     参数4:错误信息
     */

    [fileManager createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:nil];

    NSLog(@"%@",path);

    //2.判断是否存在某个文件,如果存在,删掉,不存在则创建

    NSString *filePath = [cachesPath stringByAppendingPathComponent:@"xiaopingguo.mp3"];

    //判断该路径下是否存在对应的文件
    if ([fileManager fileExistsAtPath:filePath]) {

        //存在删除
        [fileManager removeItemAtPath:filePath error:nil];
        NSLog(@"文档存在,删除");
    }

    else
    {
        //不存在 创建
        [fileManager createFileAtPath:filePath contents:nil attributes:nil];

        NSLog(@"文件不存在,创建");

    }

    NSLog(@"%@",filePath);

    //3.赋值

    [fileManager copyItemAtPath:filePath toPath:[documentsPath stringByAppendingPathComponent:@"xiaopingguo.mp3"] error:nil];
    NSLog(@"%@",documentsPath);

    //4.移动
    /*
     参数1:文件的源路径
     参数2:目的路径,需要拼接上文件名字
     参数3:错误信息
     */

    [fileManager moveItemAtPath:filePath toPath:[path stringByAppendingPathComponent:@"dabaojian.mp4"] error:nil];

    //5.获取文件的子文件
    NSArray *fileArray = [fileManager contentsOfDirectoryAtPath:documentsPath error:nil];

    NSLog(@"%@",fileArray);

}

常用路径工具函数

NSString * NSUserName(); 返回当前用户的登录名

NSString * NSFullUserName(); 返回当前用户的完整用户名

NSString * NSHomeDirectory(); 返回当前用户主目录的路径

NSString * NSHomeDirectoryForUser(); 返回用户user的主目录

NSString * NSTemporaryDirectory(); 返回可用于创建临时文件的路径目录

常用路径工具方法

-(NSString *) pathWithComponents:components    根据components(NSArray对象)中元素构造有效路径

-(NSArray *)pathComponents                                          析构路径,获取路径的各个部分

-(NSString *)lastPathComponent                                       提取路径的最后一个组成部分

-(NSString *)pathExtension                                           路径扩展名

-(NSString *)stringByAppendingPathComponent:path                    将path添加到现有路径末尾

-(NSString *)stringByAppendingPathExtension:ext           将拓展名添加的路径最后一个组成部分

-(NSString *)stringByDeletingPathComponent                           删除路径的最后一个部分

-(NSString *)stringByDeletingPathExtension                           删除路径的最后一个部分 的扩展名

-(NSString *)stringByExpandingTildeInPath          将路径中的代字符扩展成用户主目录(~)或指定用户主目录(~user)

-(NSString *)stringByResolvingSymlinksInPath                         尝试解析路径中的符号链接

-(NSString *)stringByStandardizingPath            通过尝试解析~、..、.、和符号链接来标准化路径

-

使用路径NSPathUtilities.h

tempdir = NSTemporaryDirectory(); 临时文件的目录名

path = [fm currentDirectoryPath];

[path lastPathComponent]; 从路径中提取最后一个文件名

fullpath = [path stringByAppendingPathComponent:fname];将文件名附加到路劲的末尾

extenson = [fullpath pathExtension]; 路径名的文件扩展名

homedir = NSHomeDirectory();用户的主目录

component = [homedir pathComponents];  路径的每个部分

NSProcessInfo类:允许你设置或检索正在运行的应用程序的各种类型信息

(NSProcessInfo *)processInfo                                  返回当前进程的信息

-(NSArray*)arguments                                           以NSString对象数字的形式返回当前进程的参数

-(NSDictionary *)environment                                   返回变量/值对词典。描述当前的环境变量

-(int)processIdentity                                          返回进程标识

-(NSString *)processName                                       返回进程名称

-(NSString *)globallyUniqueString   每次调用该方法都会返回不同的单值字符串,可以用这个字符串生成单值临时文件名

-(NSString *)hostname                                          返回主机系统的名称

-(unsigned int)operatingSystem                                 返回表示操作系统的数字

-(NSString *)operatingSystemName                                     返回操作系统名称

-(NSString *)operatingSystemVersionString                                     返回操作系统当前版本

-(void)setProcessName:(NSString *)name                                将当前进程名称设置为name

时间: 2024-10-23 01:51:30

NSFileManager简单操作的相关文章

ORACLE的安装与网页版创建表空间的简单操作以及PLsql的简单操作

1.oracle的安装: 安装简单易学,在这里不做解释.下载看装包后耐心等待,注意安装目录不要有中文字符,尽量按照指定目录进行安装.安装完成后会占用有大约5g的内存. 如果要卸载oracle,需要用其自带的卸载工具进行卸载[universal installer],然后删除注册表项,删除环境变量,删除目录并且重新启动计算机. 2.在网页版进行创建表空间: 进入网页版: 在电脑的服务中我们可以看到一共有7个oracle的服务项目,其中只有三个是正在启动中.这三项中,只有当OracleDBConso

简单操作只需10秒破解PDF加密文件

简单操作只需10秒破解PDF加密文件 [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/51345950 如何破解PDF加密文件,如何破解PDF密码呢,破解加密的PDF文件? 从网上下载的PDF文件,由于版权的问题,作者经常会加密禁止读者复制修改等权限,如下面的PDF文档,用Adobe pdf Reader打开时,会显示"已加密"的字样,虽然可以阅读,但不能修改和标记. 为了解决这个问题,可以采用绕过破解密码这一

C++ 文件的简单操作

=================================================================== 编写程序时,很多时候都要对文件进行操作,比如从文件中读取数据,通过程序将一些数据保存到文件中等等.. 以下是c++对文件的一些简单操作. =================================================================== 一.文件输出 要将程序中的数据输出到文件中,一般需要以下5个步骤: ① 包含fstream

mysql数据库很简单操作

进入linux系统 root   >/usr/bin/mysql -u root mysql>show databases;                    #查看数据库 mysql>use  testtable;                        #testtable 为所要查看的库,应用数据库 mysql>show tables;                          #查看所有表 mysql>desc abc_table          

ftp简单操作及解说

一.实验拓扑 服务器 ------------------------客户机 二.实验条件 试验机在同一个网段,可以互相ping通. 确定装在了ftp软件包. 三.实验一: 匿名用户与本地用户都可以登录 匿名用户登录到/var/ftp,只能下载不能上传 本地用户登录到本地用户的家目录,可以上传和下载 实验步骤; [[email protected] ~]# rpm -q vsftp              //检测是否安装软件 package vsftp is not installed   

nfs简单操作及解说

NFS的实验报告 一.实验拓扑: 服务器 ----------      客户机 二.实验条件: 服务器的ip:192.168.4.5/24 客户机的ip:192.168.4.200 要确定机器有安装nfs包跟RPC软件包. 三.实验要求: 将/root 共享给192.168.4.200 可写,同步,允许客户机以root权限访问 NFS 服务端操作: 修改配置: [[email protected] ~]# vim /etc/exports    //修改配置的地址 [[email protec

PgSQL简单操作

********************************************** *基本操作 ********************************************** 数据库操作 $ psql test $ psql -h localhost -U username -W newpwd -p 5432 test =# create database mail_db; =# create database mail_db owner sunny; =# drop d

JS的简单操作和表单以及事件

HTML:主要用于往页面上放置所需要的控件. CSS:主要用来控制页面以及上面控件的样式. JS:主要用来控制页面上的特效以及数据交互. JS也分为顺序,条件(IF()... ELSE()),循环(FOR())三种语句,与C#基本一致. JS定义变量统一用var,定义数组不固定长度和类型,类似C#中的集合. JS的简单操作: DOM操作: 一.window: 1.window.onload 页面打开完再执行后面的操作 2.window.open(1,2,3,4) - 打开新页面, 1 - 打开页

Java时间简单操作

使用java操作时间感觉真真蛋疼,还是我大C#舒服,一个DateTime全部搞定 这里的Date指的是java.util.Date 获取当前时间: // 创建一个当前时间的Date对象 Date time = new Date(); 蛋疼的地方,对时间增.减操作: // 使用Calendar类对时间增.减操作 Calendar c = Calendar.getInstance();// 获得一个Calendar实例,该类是抽象类所以不可以使用new构造方法 // 使用setTime方法创建一个时