2013-07-14 65 views
1

當我使用NSFileManager通過使用copyItemAtPath將一個文件(目錄)從一個地方複製到另一個地方時,它給了我錯誤。在NSFileManager中將文件從一個地方複製到另一個地方時出現錯誤

下面是代碼:

[[NSFileManager defaultManager]copyItemAtPath:@"/Users/name/Documents/localhost/websiteDesign/_Software/" toPath:@"/Volumes/NAME/" error:&handleError]; 
NSLog(@"%@", [handleError description]); 

以下是錯誤:

Error Domain=NSCocoaErrorDomain Code=516 "「_Software」 couldn’t be copied to 「Volumes」 because an item with the same name already exists." UserInfo=0x102842d00 
{NSSourceFilePathErrorKey=/Users/name/Documents/localhost/websiteDesign/_Software/, NSUserStringVariant=(Copy), NSDestinationFilePath=/Volumes/NAME/, NSFilePath=/Users/name/Documents/localhost/websiteDesign/_Software/, NSUnderlyingError=0x10283f8e0 "The operation couldn’t be completed. File exists"} 

然而,當我更改目標文件,該文件的名稱是@ 「/卷/名稱/」,到其他任何類似@「/ Volumes/aaa /」,那麼錯誤將消失。我不知道爲什麼。謝謝 !!

+0

你瞭解錯誤信息嗎? 「因爲具有相同名稱的項目已經存在」... – 2013-07-14 05:19:34

回答

3

你需要指定完整的路徑名,包括的實際文件名。

Apple's documentation for copyItemAtPath:toPath:error:狀態,對於「toPath:」參數:

The path at which to place the copy of srcPath. This path must include the name of the file or directory in its new location. This parameter must not be nil.

你在做什麼,現在正在嘗試覆蓋整個硬盤(體積計)的文件。

相關問題