3

我正在尝试删除特定 URL 处的文件,我的代码是:

    NSString *str= [outputFieldURL absoluteString];

       NSError *error;

        BOOL success = [[NSFileManager defaultManager] removeItemAtPath:str error:&error];



        if (!success) {
            NSLog(@"Error removing file at path: %@", error.localizedDescription);
        }
        else
        {
            NSLog(@"File removed  at path: %@", error.localizedDescription);
        }
    }

并得到输出:删除路径处的文件时出错:操作无法完成。(可可错误 4。)

当我将 outputFieldURL 转换为字符串时,它显示以下值:
file:///var/mobile/Applications/A55A56FA-478D-4996-807D-12F0E968F969/Documents/301013125211w.m4a

这是保存格式为 .m4a 的音频的路径

4

2 回答 2

5

你的路径不正确

使用以下

NSString *str= [outputFieldURL path];

代替

NSString *str= [outputFieldURL absoluteString];

“removeItemAtPath:”方法需要文件的本地路径,如果要使用url删除,则应使用“removeItemAtURL:”

于 2013-10-30T08:06:26.927 回答
0

可能存在您提供的文件路径不正确的情况。如果正确,请尝试使用 URL,它可能会解决您的问题

    NSString *str= [outputFieldURL absoluteString];

    NSError *error;

    NSURL *url = [NSURL URLWithString:str];
    BOOL success = [[NSFileManager defaultManager] removeItemAtURL:url error:&error];


    if (!success) {
        NSLog(@"Error removing file at path: %@", error.localizedDescription);
    }
    else
    {
        NSLog(@"File removed  at path: %@", error.localizedDescription);
    }
}
于 2013-10-30T08:04:29.140 回答