gpt4 book ai didi

objective-c - NSFileManager copyItemAtPath 提示存在一个不存在的文件

转载 作者:太空狗 更新时间:2023-10-30 04:00:11 25 4
gpt4 key购买 nike

我正在尝试使用 [[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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com