gpt4 book ai didi

ios - 无法读取资源文件夹中的文件-iOS

转载 作者:行者123 更新时间:2023-12-01 16:52:31 24 4
gpt4 key购买 nike

我正在尝试读取位于resources文件夹内Object Bank目录中的文件。

//Get path for file in object bank
NSString* path = [[NSBundle mainBundle] pathForResource:fileId ofType:@"eam" inDirectory:@"Object Bank"];
NSError *error=nil;

//Check if it is present at the location
Boolean prepositioned=[[NSFileManager defaultManager] fileExistsAtPath:path];
NSLog(@"File Found : %@",prepositioned?@"Yes":@"No");

//This outputs "File Found : Yes"

//Read file
NSString *fileContents=[NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];
NSLog(@"Prepostioned content length: %d",fileContents.length);
//This outputs "Prepostioned content length: 0"

//if file is present:
if (!error) {
//Do something

}
else
{
//Print the error
NSLog(@"Error : %@",error.description);
}

我收到以下错误:
Error Domain=NSCocoaErrorDomain Code=261 "The operation couldn’t be completed. (Cocoa error 261.)" UserInfo=0x8c410d0 {NSFilePath=/Users/ctb/Library/Application Support/iPhone Simulator/6.0/Applications/16881651-3790-4C87-A3A0-1E1D60563684/OAS IPAD.app/Object Bank/70118600.eam, NSStringEncoding=4}

即使文件不存在,该路径也不返回 nil,并且 fileExistsAtPath:path始终返回yes,而不管文件是否存在。

我也尝试过:
NSArray *paths =[[NSBundle mainBundle] pathsForResourcesOfType:@"eam" inDirectory:@"Object Bank"];
for (NSString *path in paths) {
NSString *fileString=[NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
NSLog(@"Resource : %u ",fileString.length);
}

但这有同样的问题。

最佳答案

绝对肯定地确保您要读取的文件是NSUTF8StringEncoding,否则您将遇到这种类型的错误,这会误导您没有告诉您由于编码不匹配而导致无法读取该文件。

用TextWrangler打开文件(文件类型为eam的fileId),并检查其编码格式,然后在encoding参数中使用该编码。

关于ios - 无法读取资源文件夹中的文件-iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14516150/

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