我正在尝试从网络上读取文件,但它无法正常工作!所以请需要一些帮助!!
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];
}
谢谢
答案 0 :(得分: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];
答案 1 :(得分: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];
}