NSString *filePath=@"/Users/nlp/Desktop/NSString_Test_01/NSString_Test_01/Info.plist";
//单例
NSFileManager *fm=[NSFileManager defaultManager];
//1.判断是否指定位置有内容(文件或文件夹)
BOOL haveaFile=[fm fileExistsAtPath:filePath];
if(haveaFile)
{
BOOL isCatalogue;
//2.判断指定位置是目录(文件夹)还是文件,例如桌面这种就是目录
//注意:isDirectory是指向BOOL类型数据的位置的指针,所以要取位置(加上&);
[fm fileExistsAtPath:filePathisDirectory:&isCatalogue];
if(isCatalogue) {
NSLog(@"这是一个目录");
}else
{
NSLog(@"这是一个文件");
}
}
//3.判断文件是否可读
BOOL canRead=[fm isReadableFileAtPath:filePath];
//4.判断文件是否可写
BOOL canWrite=[fm isWritableFileAtPath:filePath];
//5.判断文件是否可删除
BOOL canDelete=[fm isDeletableFileAtPath:filePath];
//获取文件属性
NSDictionary * attDic=[fm attributesOfItemAtPath:filePatherror:nil];
NSLog(@"attDic=%@",attDic);
//获取文件夹下所有子目录和子文件,返回所有子文件路径,(使用递归方法,消耗内存严重,一般不采用)
NSArray* subArr=[fmsubpathsAtPath:filePath1];
NSLog(@"subArr=%@",subArr);
//获取文件夹下所有子目录和子文件,返回所有子文件路径,(常用方法,不使用递归方法)
NSArray* subArr1=[fm subpathsOfDirectoryAtPath:filePath1error:nil];
NSLog(@"subArr1=%@",subArr1);
//获取文件夹下子目录(只包括子文件及目录,不包括二级目录)
NSArray* firstSubArr=[fm contentsOfDirectoryAtPath:filePath1error:nil];
NSLog(@"firstSubArr=%@",firstSubArr);