Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSString STRINGWITHCONTENTS文件失败,错误代码似乎不正确_Ios_Iphone_Objective C_Nsstring - Fatal编程技术网

Ios NSString STRINGWITHCONTENTS文件失败,错误代码似乎不正确

Ios NSString STRINGWITHCONTENTS文件失败,错误代码似乎不正确,ios,iphone,objective-c,nsstring,Ios,Iphone,Objective C,Nsstring,我正在尝试将文件加载到字符串中。以下是我正在使用的代码: NSError *error = nil; NSString *fullPath = [[NSBundle mainBundle] pathForResource:filename ofType:@"html"]; NSString *text = [NSString stringWithContentsOfFile:fullPat

我正在尝试将文件加载到字符串中。以下是我正在使用的代码:

NSError *error = nil;
NSString *fullPath = [[NSBundle mainBundle] pathForResource:filename 
                                                     ofType:@"html"];
NSString *text = [NSString stringWithContentsOfFile:fullPath 
                                           encoding:NSUTF8StringEncoding 
                                              error:&error];
当以@“about”作为文件名传入时,它工作得非常好,表明代码工作正常。 当以@“eula”作为文件名传入时,它将失败并显示“Cocoa error 258”,这将转换为NSFileReadInvalidFileNameError。但是,如果我交换了文件的内容,但名称保持不变,则另一个文件无法证明文件名没有问题,这与内容有关

about文件是相当简单的HTML文件,但eula文件是由法律部门从Word导出的一堆乱七八糟的文件

是否有人知道HTML文件中有任何可能导致引发此错误的内容

非常感谢


Sam

在这种情况下,
+stringWithContentsOfFile:encoding:error:
失败的最可能原因是您提供了错误的编码。您确定您的
@“eula”
文件是UTF8编码的吗


如果您不确定文件的编码,您可以随时尝试,看看它是否有效以及使用了什么编码。

错误几乎肯定是您的文件不在UTF-8中,但您是对的,这听起来确实像是错误报告中的错误

用BBEdit(或免费的TextWrangler)打开eula文件,看看它使用了什么编码。将编码更改为UTF-8并保存。区分这两个文件以查看出现了哪些差异。用新文件替换原始文件(修复所有故障)


如果这解决了问题,那么使用在错误报告中报告错误。

我刚刚花了45分钟处理这个问题,只是在我的情况下,解决方案很愚蠢,问题略有不同

  • 我的资源目录中有一个名为Playlist.txt的文件。天气很好
  • 该文件曾在XCode中修改过一次
  • 文件已正确停止加载,错误与上述相同。然而,它从未被移动,其编码类型也没有改变
  • 我对XCode目录中的文件执行了一个命令-I(获取信息),它告诉我它是UTF-8(正如预期的那样)
  • 我尝试了“使用编码”的方式读取文件,没有骰子。相同的错误,编码返回null
  • 最后,我从XCode中删除了该文件,再次将其拖入,并进行了一次清理。这解决了问题。

这不是第一次XCode神奇地缓存东西(错误地)让我浪费了好几个小时的时间。如果您有这样一个错误,但没有意义,请尝试删除和替换文件并清除所有目标。

不知道这是否是您的问题,但我有一个类似的问题(stringWithContentsOfFile,没有JSON),问题是该文件有CRLF(windows)行结尾和任何所谓的编码。我使用SubEthaEdit转换为LF和UTF-8,一切正常。

我与您有相同的错误,使用文件名
[[NSBundle mainBundle]pathForResource:@“txt”类型的“页面列表”]]祝你好运

我遇到了同样的错误

当我玩了一会儿后,似乎我没有将该文件包含在目标的复制包资源中

我做到了,效果很好


但是,不得不说,由于这样一个简单的原因,这个错误是很容易引起误解的。只是从Xcode猜到的一个错误

老实说,我只是打开了它,玩了一会儿,更改了编码并再次保存了它-它可能是文件中某个地方的无效字符,或者类似于您发现的东西-一个行尾/编码问题。这是一个非常误导我的错误信息!