檔案管理(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------------