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