0

我在 iOS 的“我的文档”文件夹中有一个文本文件,其中包含一个如下所示的链接:@“https://www.mysite.com”

我可以通过以下方式成功读取文件:

  //READ TEXT FILE:

    NSArray *paths5 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory5 = [paths5 objectAtIndex:0];
    NSString *filePath5 = [documentsDirectory5 stringByAppendingPathComponent:@"mytext.txt"];
    NSString *myContent = [NSString stringWithContentsOfFile:filePath5 encoding:NSUTF8StringEncoding error:NULL];

NSString *myContent 是实际链接:@"https://www.mysite.com

现在我通过 NSURLRequest 加载内容,如下所示:

   NSURLRequest *request2 = [NSURLRequest requestWithURL:
                             [NSURL URLWithString:myContent]]; 
           [[NSURLConnection alloc] initWithRequest:request2 delegate:self];

我得到的问题/错误:

      Connection failed: Error Domain=NSURLErrorDomain Code=-1000 "bad URL" UserInfo=0xfe75cc0 {NSUnderlyingError=0xfe86ac0 "bad URL", NSLocalizedDescription=bad URL}

但是,如果 [NSURL URLWithString:myContent]]; 用 [NSURL URLWithString:@"https://www.mysite.com"]] 等 url 字符串逐字替换,然后连接有效。

这里发生了什么事?为什么我不能将文本文件中的 url 加载到我的 URLWithString 参数中?

4

1 回答 1

6

文本文件的大小如果不是很大,可以在下面合理地获得。文本文件必须采用 utf8 编码。如果采用不同的编码,则需要设置相应的编码line3

NSString *urlString = @"http://www.blahblah.com/myText.txt";
NSURL *myURL = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSString *string = [NSString stringWithContentsOfURL:myURL encoding:NSUTF8StringEncoding error:nil];
//                                                                  ^
于 2012-08-15T04:52:28.920 回答