档案管理(Copy/Move/Remove)

档案管理(Copy/Move/Remove)

NSFileManager 照名称当然也是提供最基本档案管理:拷贝、移动、删除功能,接下来依照路径表示方式,使用2种方式介绍。

传统路径表示

传统路径所代表的就是一般路径表示,Mac是使用Unix的路径表示方式。

拷贝档案 Copy

//-----------start-----------
NSFileManager *filemanager;

filemanager = [NSFileManager defaultManager];

if ([filemanager copyItemAtPath: @"/tmp/file.txt" toPath: @"/tmp/newfile.txt" error: NULL]  == YES)
        NSLog (@"拷贝成功!");
else
        NSLog (@"拷贝失败!");

//------------end------------

删除档案 Remove

//-----------start-----------
NSFileManager *filemanager;

filemanager = [NSFileManager defaultManager];

if ([filemanager removeItemAtPath:@"/tmp/newfile.txt" error: NULL]  == YES)
        NSLog (@"删除成功!");
else
        NSLog (@"删除失败");

//------------end------------

移动档案 Move

//-----------start-----------
NSFileManager *filemanager;

filemanager = [NSFileManager defaultManager];

if ([filemanager moveItemAtPath:@"/tmp/file.txt" toPath: @"/tmp/newfile.txt" error: NULL]  == YES)
        NSLog (@"移动成功");
else
        NSLog (@"移动失败");

//------------end------------

网路路径表示

网路路径表示是将整个系统路径用网址的方式表示出来,例如:

/tmp/file.txt

经过网路路径表示方式会变成:

file:///tmp/myfile.txt

当然这是可以经过NSURL将传统路径转换成网路路径:

//-----------start-----------
[NSURL fileURLWithPath:@"/tmp/file.txt"];
//------------end------------

拷贝档案 Copy

//-----------start-----------
NSFileManager *filemanager;

NSURL *oldPath = [NSURL fileURLWithPath:@"/tmp/file.txt"];
NSURL *newPath= [NSURL fileURLWithPath:@"/tmp/newfile.txt"];

filemanager = [NSFileManager defaultManager];

if ([filemanager copyItemAtURL: oldPath toURL: newPath error: NULL]  == YES)
        NSLog (@"拷贝成功");
else
        NSLog (@"拷贝失败");

//------------end------------

删除档案 Remove

//-----------start-----------
NSFileManager *filemanager;

NSURL *oldPath = [NSURL fileURLWithPath:@"/tmp/file.txt"];
NSURL *newPath= [NSURL fileURLWithPath:@"/tmp/newfile.txt"];

filemanager = [NSFileManager defaultManager];

if ([filemanager removeItemAtURL:newPath error: NULL]  == YES)
        NSLog (@"删除成功");
else
        NSLog (@"删除失败");

//------------end------------

移动档案 Move

//-----------start-----------
NSFileManager *filemanager;

NSURL *oldPath = [NSURL fileURLWithPath:@"/tmp/file.txt"];
NSURL *newPath= [NSURL fileURLWithPath:@"/tmp/newfile.txt"];

filemanager = [NSFileManager defaultManager];

if ([filemanager moveItemAtURL: oldPath toURL: newPath error: NULL]  == YES)
        NSLog (@"移动成功");
else
        NSLog (@"移动失败");

//------------end------------