文件操作中包括有创建文件,创建目录,写文件,读文件,复制文件,删除文件等内容
实验中我们需使用命令窗口帮助我们实现文件操作中的各个功能,希望对大家有帮助
命令窗口
ls 显示当前位置的所有文档
pwd 显示当前位置的文件位置
touch+test.txt 创建一个文件
cat test.txt 获取该文件中的
ls - al 打印所有根目录
//1.
获取文件目录
NSFileManager *fm = [NSFileManager defaultManager]; // 实例化一个文件管理对象
NSArray *paths = [fm URLsForDirectory:NSDesktopDirectory inDomains:NSUserDomainMask]; // 获取桌面的文件路径
if (paths.count>0){
NSURL *url = [paths objectAtIndex:0]; // 获取所有子文件中的第一个文件
NSFileManager *fm = [NSFileManager defaultManager]; // 实例化一个文件管理对象
NSArray *paths = [fm URLsForDirectory:NSDesktopDirectory inDomains:NSUserDomainMask]; // 获取桌面的文件路径
if (paths.count>0){
NSURL *url = [paths objectAtIndex:0]; // 获取所有子文件中的第一个文件
NSLog(@"%@",url.path);
}
//2.
判断文件是否存在
NSFileManager *fm = [NSFileManager defaultManager];
NSString *paths = @"/Users/scsys/Desktop" ; // 或者把桌面文件路径作为对象
BOOL b = [fm fileExistsAtPath :paths]; // 判断桌面文件是否存在
NSLog ( @"%@" ,b==1? @"yes" : @"no" );
//3. 创建文件
NSFileManager *fm = [NSFileManager defaultManager];
NSString *paths = @"/Users/scsys/Desktop/1.txt" ; // 给定一个文件路径
NSData *data = [paths dataUsingEncoding:NSUTF8StringEncoding]; // 文件内容把路径作为内容写到文件中
BOOL b;
if (![fm fileExistsAtPath :paths])
b = [fm createFileAtPath :paths contents :data attributes : nil ];
NSFileManager *fm = [NSFileManager defaultManager];
NSString *paths = @"/Users/scsys/Desktop" ; // 或者把桌面文件路径作为对象
BOOL b = [fm fileExistsAtPath :paths]; // 判断桌面文件是否存在
NSLog ( @"%@" ,b==1? @"yes" : @"no" );
//3. 创建文件
NSFileManager *fm = [NSFileManager defaultManager];
NSString *paths = @"/Users/scsys/Desktop/1.txt" ; // 给定一个文件路径
NSData *data = [paths dataUsingEncoding:NSUTF8StringEncoding]; // 文件内容把路径作为内容写到文件中
BOOL b;
if (![fm fileExistsAtPath :paths])
b = [fm createFileAtPath :paths contents :data attributes : nil ];
NSLog
(
@"
文件是否已创建:
%@"
,b==1?
@"yes"
:
@"no"
);
//4. 写文件
NSFileManager *fm = [NSFileManager defaultManager];
NSString *paths = @"/Users/scsys/Desktop/ 你是猪么 ?.txt" ; // 给定一个文件路径
NSString *str = @" 你是猪么? " ;
if (![fm file ExistsAtPath :paths])
{
BOOL b = [fm createFileAtPath :paths contents :[str dataUsingEncoding : NSUTF8StringEncoding ] attributes : nil ]; // 写文件前先创建一个文件
NSLog ( @"%@" ,b==1? @"yes" : @"no" );
}
else
NSLog ( @" 文件已创建 " );
BOOL b = [str writeToFile:paths atomically: YES encoding:NSUTF8StringEncoding error: nil ];
NSLog ( @"%@" ,b==1? @"yes" : @"no" );
//5. 文件拷贝
NSFileManager *fm = [NSFileManager defaultManager];
NSArray *paths = [fm URLsForDirectory:NSDesktopDirectory inDomains:NSUserDomainMask];
if (paths. count >0)
{
NSURL *url = [paths objectAtIndex :0]; // 获取文件路径
if (![fm fileExistsAtPath :[url. path stringByAppendingString : @"/ 你是猪吗 " ]])
{
BOOL r = [fm createDirectoryAtPath :[url. path stringByAppendingString : @"/ 你是猪吗 " ] withIntermediateDirectories : YES attributes : nil error : nil ];
NSLog ( @"%@" ,r==1? @"yes" : @"no" );
}
else
{
NSLog ( @" 文件已创建 " );
}
BOOL r = '\0';
for ( int i=0;i<50;i++)
r = [fm copyItemAtPath :[url. path stringByAppendingString : @"/ 你是猪吗 " ] toPath :[url. path stringByAppendingFormat : @"/ 你是猪么 %d" ,i] error : nil ]; // 文件拷贝
NSLog ( @"%@" ,r==1? @"yes" : @"no" );
}
//6. 文件夹重命名
NSFileManager *fm = [NSFileManager defaultManager];
NSArray *paths = [fm URLsForDirectory:NSDesktopDirectory inDomains:NSUserDomainMask];
if (paths. count >0)
{
NSURL *url = [paths objectAtIndex :0];
NSString *filePath = url. path ;
BOOL r = [fm createDirectoryAtPath :[filePath stringByAppendingString : @"/ 你是猪吗 " ] withIntermediateDirectories : YES attributes : nil error : nil ];
NSLog ( @"%@" ,r==1? @"yes" : @"no" );
[fm moveItemAtPath :[filePath stringByAppendingString : @"/ 你是猪吗 " ] toPath :[filePath stringByAppendingString : @"/ 你是猪吗 11" ] error : nil ]; // 重命名就是把一个文件转移到另一个不存在的文件
}
//7. 使用 NSFileManager 管理文件目录 // 使用沙盒存储
NSFileManager *fm = [NSFileManager defaultManager];
NSString *dic = @"/tmp/yang" ; // 定义一个目录名
if (![fm fileExistsAtPath :dic]) // 判断该文件是否已被创建
{
BOOL r = [fm createDirectoryAtPath :dic withIntermediateDirectories : YES attributes : nil error : nil ];
NSLog ( @"%@" ,r==1? @"yes" : @"no" );
}
else
{
NSLog ( @" 目录已经存在 " );
} //NSLog(@"%@",[fm removeItemAtPath:dic error:nil]==1?@"yes":@"no");// 移除文件
[fm createFileAtPath :[dic stringByAppendingString : @"/text" ] contents : nil attributes : nil ];
[[dic stringByAppendingString : @"nihao" ] writeToFile :[dic stringByAppendingString : @"/text" ] atomically : YES encoding : NSUTF8StringEncoding error : nil ];
NSString *str = [NSString stringWithContentsOfFile:[dic stringByAppendingString: @"/text" ] encoding:NSUTF8StringEncoding error: nil ]; // 读取文件内容
NSLog ( @"%@" ,str);
//8. 在桌面创建文件
NSFileManager *fm = [NSFileManager defaultManager];
NSString *paths = @"/Users/scsys/Desktop/tex" ;
BOOL r = [fm createFileAtPath :paths contents :[ @" 你好 " dataUsingEncoding : NSUTF8StringEncoding ] attributes : nil ]; // 在桌面创建一个文件
NSLog ( @" 创建是否成功: %@" ,r==1? @"yes" : @"no" );
//9.remove
NSFileManager *fm = [NSFileManager defaultManager];
NSString *paths = @"/Users/scsys/Desktop/tex" ;
BOOL r = [fm createFileAtPath:paths contents:[ @" 你好 " dataUsingEncoding:NSUTF8StringEncoding]attributes: nil ];
NSLog ( @" 是否创建成功: %@" ,r==1? @"yes" : @"no" );
BOOL r1 = [fm removeItemAtPath :paths error : nil ];
NSLog ( @" 是否移除: %@" ,r1==1? @"yes" : @"no" );
//10. 获取当前文件的路径
NSFileManager *fm = [NSFileManager defaultManager];
NSString *str = [fm currentDirectoryPath];
NSLog ( @"%@" ,str);
//11. 目录的遍历
NSFileManager *fm = [NSFileManager defaultManager];
NSString *paths = @"/" ;
NSArray *content = [fm contentsOfDirectoryAtPath :paths error : nil ];
//4. 写文件
NSFileManager *fm = [NSFileManager defaultManager];
NSString *paths = @"/Users/scsys/Desktop/ 你是猪么 ?.txt" ; // 给定一个文件路径
NSString *str = @" 你是猪么? " ;
if (![fm file ExistsAtPath :paths])
{
BOOL b = [fm createFileAtPath :paths contents :[str dataUsingEncoding : NSUTF8StringEncoding ] attributes : nil ]; // 写文件前先创建一个文件
NSLog ( @"%@" ,b==1? @"yes" : @"no" );
}
else
NSLog ( @" 文件已创建 " );
BOOL b = [str writeToFile:paths atomically: YES encoding:NSUTF8StringEncoding error: nil ];
NSLog ( @"%@" ,b==1? @"yes" : @"no" );
//5. 文件拷贝
NSFileManager *fm = [NSFileManager defaultManager];
NSArray *paths = [fm URLsForDirectory:NSDesktopDirectory inDomains:NSUserDomainMask];
if (paths. count >0)
{
NSURL *url = [paths objectAtIndex :0]; // 获取文件路径
if (![fm fileExistsAtPath :[url. path stringByAppendingString : @"/ 你是猪吗 " ]])
{
BOOL r = [fm createDirectoryAtPath :[url. path stringByAppendingString : @"/ 你是猪吗 " ] withIntermediateDirectories : YES attributes : nil error : nil ];
NSLog ( @"%@" ,r==1? @"yes" : @"no" );
}
else
{
NSLog ( @" 文件已创建 " );
}
BOOL r = '\0';
for ( int i=0;i<50;i++)
r = [fm copyItemAtPath :[url. path stringByAppendingString : @"/ 你是猪吗 " ] toPath :[url. path stringByAppendingFormat : @"/ 你是猪么 %d" ,i] error : nil ]; // 文件拷贝
NSLog ( @"%@" ,r==1? @"yes" : @"no" );
}
//6. 文件夹重命名
NSFileManager *fm = [NSFileManager defaultManager];
NSArray *paths = [fm URLsForDirectory:NSDesktopDirectory inDomains:NSUserDomainMask];
if (paths. count >0)
{
NSURL *url = [paths objectAtIndex :0];
NSString *filePath = url. path ;
BOOL r = [fm createDirectoryAtPath :[filePath stringByAppendingString : @"/ 你是猪吗 " ] withIntermediateDirectories : YES attributes : nil error : nil ];
NSLog ( @"%@" ,r==1? @"yes" : @"no" );
[fm moveItemAtPath :[filePath stringByAppendingString : @"/ 你是猪吗 " ] toPath :[filePath stringByAppendingString : @"/ 你是猪吗 11" ] error : nil ]; // 重命名就是把一个文件转移到另一个不存在的文件
}
//7. 使用 NSFileManager 管理文件目录 // 使用沙盒存储
NSFileManager *fm = [NSFileManager defaultManager];
NSString *dic = @"/tmp/yang" ; // 定义一个目录名
if (![fm fileExistsAtPath :dic]) // 判断该文件是否已被创建
{
BOOL r = [fm createDirectoryAtPath :dic withIntermediateDirectories : YES attributes : nil error : nil ];
NSLog ( @"%@" ,r==1? @"yes" : @"no" );
}
else
{
NSLog ( @" 目录已经存在 " );
} //NSLog(@"%@",[fm removeItemAtPath:dic error:nil]==1?@"yes":@"no");// 移除文件
[fm createFileAtPath :[dic stringByAppendingString : @"/text" ] contents : nil attributes : nil ];
[[dic stringByAppendingString : @"nihao" ] writeToFile :[dic stringByAppendingString : @"/text" ] atomically : YES encoding : NSUTF8StringEncoding error : nil ];
NSString *str = [NSString stringWithContentsOfFile:[dic stringByAppendingString: @"/text" ] encoding:NSUTF8StringEncoding error: nil ]; // 读取文件内容
NSLog ( @"%@" ,str);
//8. 在桌面创建文件
NSFileManager *fm = [NSFileManager defaultManager];
NSString *paths = @"/Users/scsys/Desktop/tex" ;
BOOL r = [fm createFileAtPath :paths contents :[ @" 你好 " dataUsingEncoding : NSUTF8StringEncoding ] attributes : nil ]; // 在桌面创建一个文件
NSLog ( @" 创建是否成功: %@" ,r==1? @"yes" : @"no" );
//9.remove
NSFileManager *fm = [NSFileManager defaultManager];
NSString *paths = @"/Users/scsys/Desktop/tex" ;
BOOL r = [fm createFileAtPath:paths contents:[ @" 你好 " dataUsingEncoding:NSUTF8StringEncoding]attributes: nil ];
NSLog ( @" 是否创建成功: %@" ,r==1? @"yes" : @"no" );
BOOL r1 = [fm removeItemAtPath :paths error : nil ];
NSLog ( @" 是否移除: %@" ,r1==1? @"yes" : @"no" );
//10. 获取当前文件的路径
NSFileManager *fm = [NSFileManager defaultManager];
NSString *str = [fm currentDirectoryPath];
NSLog ( @"%@" ,str);
//11. 目录的遍历
NSFileManager *fm = [NSFileManager defaultManager];
NSString *paths = @"/" ;
NSArray *content = [fm contentsOfDirectoryAtPath :paths error : nil ];
NSLog
(
@"%@",content);