2013-10-16 84 views
0

我想從網上讀取文件,但它不工作!所以請你需要一些幫助!iOS從網絡讀取txt

NSArray *paths = NSSearchPathForDirectoriesInDomains(
                NSDocumentDirectory, 
                NSUserDomainMask, YES); 
NSString *docDirPath = [paths objectAtIndex:0]; 
NSString *filePath = [docDirPath 
         stringByAppendingPathComponent:@"filess.txt"]; 
NSURL* url; 
NSString* content; 
NSFileManager* fileManager = [NSFileManager defaultManager]; 

if ([fileManager fileExistsAtPath:filePath]) 
{ 
    content = [[NSString alloc] 
       initWithContentsOfFile:filePath 
       encoding:NSUTF8StringEncoding error:nil];  
} 
else 
{ 
    url = [[NSURL alloc] 
      initWithString:@"http://sdsd/about/readme.txt"]; 
    content = [[NSString alloc] 
       initWithContentsOfURL:url 
       encoding:NSUTF8StringEncoding error:nil]; 
    [url release]; 
    [content writeToFile:filePath atomically:YES 
       encoding:NSUTF8StringEncoding error:nil]; 
} 

感謝

+1

什麼是不工作?內容爲空?也許是空的? – MTA

+0

而不是將'nil'傳遞給'[[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];傳遞指向NSError的指針並檢查其值。 – neilco

+0

[content writeToFile:filePath atomically:YES encoding:nil error:nil]; – Rajneesh071

回答

0

使用此代碼下載文本文件

NSURLRequest *theRequest=[NSURLRequest requestWithURL:theURL 
               cachePolicy:NSURLRequestUseProtocolCachePolicy 
              timeoutInterval:10.0]; 
    NSData *returnData = [NSURLConnection sendSynchronousRequest:theRequest returningResponse:nil error:&urlerror]; 
    NSString *file = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding]; 
0
///do request like this 


NSString *strUrl=[NSString stringWithFormat:@"your url"]; 
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:strUrl]]; 
downloadConn = [NSURLConnection connectionWithRequest:request 
             delegate:self]; 
[downloadConn start]; 


-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse * )response 
{ 

    responseData=[[NSMutableData alloc]init]; 
} 

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 
{ 
[responseData appendData:data]; 
} 
-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error 
{ 


NSLog(@"%@",[error description]); 

} 

-(void)connectionDidFinishLoading:(NSURLConnection *)connection 
{ 

    Get your response in NSdata and write it as follows 

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

    NSString *dataPath = [path stringByAppendingPathComponent:@"yourfile.txt"]; 
    dataPath = [dataPath stringByStandardizingPath]; 
    [responseData writeToFile:dataPath atomically:YES]; 


    }