#import <Foundation/Foundation.h>
//宏定义一个文件夹的路径信息
#define path @"/Users/XXX/Desktop/Snail"
//宏定义一个文件的路径
#define filePath @"/Users/XXX/Desktop/Snail/Snail3/Snail.txt"
int main(int argc, const char * argv[])
{
@autoreleasepool {
//-----------------------------遍历文件夹-----------------------------
//文件管理器,是单例模式
NSFileManager * manager = [NSFileManager defaultManager];
/*
浅层遍历
参数:
第一个参数:文件夹路径
第二个参数:返回的报错信息
*/
//定义报错信息
NSError * error = nil;
//返回值是字符串数组 浅层遍历 都是打开第一层文件的路径信息 错误信息要加取地址符号
NSArray * array = [manager contentsOfDirectoryAtPath:path error:&error];
if (error) {
//出错的话 就打印出出错信息来
NSLog(@"%@",error);
}else{
NSLog(@"%@",array);
}
//深层遍历 即把文件夹里面所有的文件路径信息打印出来
NSArray * array2 = [manager subpathsOfDirectoryAtPath:path error:&error];
NSLog(@"%@",array2);
//---------------------------------创建文件---------------------------
//判断文件是否存在 返回BOOL
BOOL ret = [manager fileExistsAtPath:filePath];
if (ret) {
NSLog(@"文件存在");
}else{
/*
创建文件 返回值也为BOOL。如果文件已经存在了,再创建就会覆盖点同名的文件
第一个参数:文件路径
第二个参数:文件内容
第三个参数:文件属性及权限
*/
BOOL ret2 = [manager createFileAtPath:filePath contents:nil attributes:nil];
if (ret2) {
NSLog(@"创建成功");
}else{
NSLog(@"创建失败");
}
}
//-------------------------------查看文件属性及权限--------------------------
//返回值是一个字典
NSDictionary * dict = [manager attributesOfItemAtPath:filePath error:nil];
/*
NSFileCreationDate = "2015-07-27 12:32:44 +0000";
NSFileExtensionHidden = 0;
NSFileGroupOwnerAccountID = 20;
NSFileGroupOwnerAccountName = staff;
NSFileHFSCreatorCode = 0;
NSFileHFSTypeCode = 0;
NSFileModificationDate = "2015-07-27 12:32:44 +0000";
NSFileOwnerAccountID = 502;
NSFileOwnerAccountName = student;
NSFilePosixPermissions = 420;
NSFileReferenceCount = 1;
NSFileSize = 0;
NSFileSystemFileNumber = 1413025;
NSFileSystemNumber = 16777218;
NSFileType = NSFileTypeRegular;
*/
NSLog(@"%@",dict);
//取得文件的大小
NSLog(@"%@",[dict objectForKey:@"NSFileSize"]);
//--------------------------字符串与二进制NSData的转换-------------------------
//参数均为编码格式
NSString * string = @"wujian";
//将字符串转换为OC的二进制形式
NSData * data = [string dataUsingEncoding:NSUTF8StringEncoding];
//将二进制数据转换为字符串
NSString * str = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
//-------------------------------文件的常用操作--------------------------------
NSString * filePath1 = @"/Users/XXX/Desktop/Snail/Snail1/Snail.txt";
NSString * filePath2 = @"/Users/XXX/Desktop/Snail/Snail3/Snail.txt";
//文件的copy,即复制 如果此toPath参数的文件已经存在 则copy失败
BOOL ret5 = [manager copyItemAtPath:filePath1 toPath:filePath2 error:nil];
if (ret5) {
NSLog(@"复制成功");
}else{
NSLog(@"复制失败");
}
//文件的移动 如果toPath中得文件已经存在 则移动失败
BOOL ret6 = [manager moveItemAtPath:filePath1 toPath:filePath2 error:nil];
if (ret6) {
NSLog(@"移动成功");
}else{
NSLog(@"移动失败");
}
//文件的重命名 即移动文件 并且移动后的名字要改变 即移动文件
//删除文件 不会经过废纸篓 直接删除 文件存在则删除成功,否则删除失败.
BOOL ret4 = [manager removeItemAtPath:filePath2 error:nil];
if (ret4) {
NSLog(@"删除成功");
}else{
NSLog(@"删除失败");
}
NSString * path11 = @"/Users/XXX/Desktop/Snail/Snail3";
//创建文件夹 目标文件夹存在 则创建失败
[manager createDirectoryAtPath:path11 withIntermediateDirectories:YES attributes:nil error:nil];
}
return 0;
}
Snail—OC学习之文件操作(非读写)
最新推荐文章于 2015-07-28 16:09:14 发布