gpt4 book ai didi

objective-c - stringWithContentsOfFile :encoding:error: error 260

转载 作者:太空狗 更新时间:2023-10-30 03:59:47 30 4
gpt4 key购买 nike

我有一个小型实用程序应用程序,它解析一个 csv 文件并使用数据来填充核心数据存储以供另一个应用程序使用。我使用 -initWithContentsOfFile:encoding:error: 打开 csv 文件,该方法总是返回 nil 并出现错误

Error Domain=NSCocoaErrorDomain Code=260 UserInfo=0x100106450 "The file “data.csv” couldn’t be 
opened because there is no such file." Underlying Error=(Error Domain=NSPOSIXErrorDomain Code=2 "The
operation couldn’t be completed. No such file or directory"), {
NSFilePath = "/Users/****/Library/Developer/Xcode/DerivedData/CreateData-
bhkmspyczgcfcrgehcbaydwdbfoa/Build/Products/Debug/data.csv";
NSUnderlyingError = "Error Domain=NSPOSIXErrorDomain Code=2 \"The operation couldn\U2019t be
completed. No such file or directory\"";
}

现在,我正在查看那个确切目录中的那个确切文件。更令人困惑的是,对于另一个可以运行的应用程序,我有另一个基本上相同实用程序的版本——唯一的区别是核心数据存储和实体的构成以及 csv 文件中的列数,所有这些都是加载 csv 文件后调用。或无法加载,因为它是......

int main (int argc, const char * argv[]) {

NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

NSError *error = nil;
NSString *csvFile = [[NSString alloc] initWithContentsOfFile:csvFilePath(QUESTIONS_INPUT_FILENAME) encoding:NSASCIIStringEncoding error:&error]; // This fails

if (error != nil) {
NSLog(@"Returned error:\n%@, %@", error, [error userInfo]); // Returns the above error message
exit(1);
}

// ...
}

NSString *csvFilePath(NSString *inputFileName) {
NSString *resourcePath = [[NSBundle mainBundle] resourcePath];
return [resourcePath stringByAppendingPathComponent:inputFileName];
}

NSString *applicationDocumentsDirectory() {
return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
}

最佳答案

它失败了,因为您没有传递文件的实际位置,只是文件名,所以它试图在程序自己的文件夹中查找它 - 您正在使用包的路径。除非那是您的 csv 文件所在的位置,否则它不会找到它。

关于objective-c - stringWithContentsOfFile :encoding:error: error 260,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6228876/

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