作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 [[NSFileManager defaultManager] copyItemAtPath: toPath: error:]
复制文件,但失败并出现以下错误:
4: The file does not exist.
相关代码如下,文件确实存在且路径字符串是正确的,因为它是预先创建的,具有完全相同的文件路径字符串。
NSFileManager* manager = [NSFileManager defaultManager];
NSError* error;
NSString* fileName = [Sound getFileName:Title];
NSString* oldDirectory = [NSString stringWithFormat:@"%@%@/", [settings stringForKey:@"downloadFolder"], authorFolder];
NSString* oldFile = [oldDirectory stringByAppendingFormat:@"%@.mp3", fileName];
NSString* newFile = [NSString stringWithFormat:@"%@/iTunes/iTunes Media/Automatically Add to iTunes/%@.mp3", [NSSearchPathForDirectoriesInDomains(NSMusicDirectory, NSUserDomainMask, YES) objectAtIndex:0], fileName];
BOOL result = [manager copyItemAtPath:oldFile toPath:newFile error:&error];
if (!result && error)
{
NSLog(oldFile);
NSLog(@"There was an error copying the file to the iTunes directory! %@", [error localizedDescription]);
}
这不是确切的代码,但所有相关代码都应该在上面。如果我使用 [manager fileExistsAtPath:oldFile]
,结果是 YES。
什么会导致复制失败并说该文件不存在,即使它存在?
更新:
问题已解决。原来输出文件夹确实是自动添加到 iTunes.localized,但我最初只是在查找器中翻页时没有注意到这一点。修复输出路径解决了问题!感谢您的帮助。
最佳答案
如果目标路径中的任何目录不存在,您将得到与源不存在时得到的错误类似的错误。检查什么 [manager fileExistsAtPath:[newFile stringByDeletingLastPathComponent] isDirectory:&isDir]
返回。
关于objective-c - NSFileManager copyItemAtPath 提示存在一个不存在的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15516405/
我有 json 数据: { "products": [ { "productId" : 0, "productImg" : "../img/product-ph
我是一名优秀的程序员,十分优秀!