- from的路径是我们需要剪切的文件路径
- to的路径是我们需要剪切到的这个文件夹的路径
1.拿到文件路径
NSString *from = @"/Users/liuhongtao/Desktop/from";
2.获得目标文件路径
NSString *to = @"/Users/liuhongtao/Desktop/to";
3.得到目录下面的所有文件
NSArray *subPaths = [[NSFileManager defaultManager] subpathsAtPath:from];
4.遍历所有文件,然后执行剪切操作
正常方法(都在主线程中 , for)
NSinteger count = subPaths.count;
for (NSInteger i = 0; i<count; i++){
4.1 拼接文件的全路径
//下面的方法拼接字符串会自动添加一个/
NSString *fullPath = [from stringByAppendingPathComponent:subPaths[i]];
NSString *toFullPath = [to stringByAppendingPathComponent:subPaths[i]];
4.2 执行剪切操作
//第一个参数:要剪切的文件夹在哪里
//第二个参数:文件夹被存到哪个位置
[[NSFileManager defaultManager] moveItemAtPath:fullPath toPath:toFullPath error:nil];
}
GCD快速迭代方法(多线程)
NSInteger count = subPaths.count;
dispatch_apply(count, dispatch_get_global_queue(0, 0), ^(size_t index) {
4.1 拼接文件的全路径
//下面的方法拼接字符串会自动添加一个/
NSString *fullPath = [from stringByAppendingPathComponent:subPaths[i]];
NSString *toFullPath = [to stringByAppendingPathComponent:subPaths[i]];
4.2 执行剪切操作
//第一个参数:要剪切的文件夹在哪里
//第二个参数:文件夹被存到哪个位置
[[NSFileManager defaultManager] moveItemAtPath:fullPath toPath:toFullPath error:nil];
});