2010-02-22 33 views
8

Tôi sắp xếp mới để phát triển các ứng dụng iPhone dựa trên chế độ xem và tôi cần tải xuống tệp "txt" này trên Internet và lưu vào thư mục tài liệu của ứng dụng. Bất cứ ai có thể chỉ cho tôi cách đơn giản tôi có thể làm điều này? Các tập tin txt là có kích thước nhỏ, vì vậy tôi sẽ không cần bất kỳ đối tượng Giao diện người dùng ...Cách tải xuống tệp văn bản với iPhone SDK?

Cảm ơn,

Kevin

Trả lời

11
NSError *err = nil; 
NSString *url = [[NSString stringWithFormat:@"http://myurl.com/mypage"] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
NSString *myTxtFile = [NSString stringWithContentsOfURL:[NSURL URLWithString:url] encoding:NSUTF8StringEncoding error:&err]; 
if(err != nil) { 
    //HANDLE ERROR HERE 
} 

Sau đó, để tiết kiệm nó, bạn có thể sử dụng:

[[NSUserDefaults standardUserDefaults] setObject:myTxtFile forKey:@"MyFile"]; 

Và để lấy nó:

NSString *myTxtFile = [[NSUserDefaults standardUserDefaults] stringForKey:@"MyFile"]; 

cập nhật để phản ánh đầu vào của Joe

+0

MyFile.txt ở đâu? Tôi đã kiểm tra trong các tài liệu và nó không có ở đó ... – lab12

+1

Xin lỗi, nó không thực sự nằm trong thư mục tài liệu, nó nằm trong mặc định của người dùng. Bạn có thể lấy nó bằng cách sử dụng dòng cuối cùng trong câu trả lời của tôi. Có lý do cụ thể nào trong thư mục tài liệu không? –

+0

Không, thực ra, tôi nghĩ sẽ dễ dàng tìm thấy nó trong thư mục Documents. : D. – lab12

1

Hey bạn có thể viết nội dung chuỗi các tập tin trong thư mục tài liệu như thế này:

// lấy các tài liệu thư mục:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 

// tạo tên tệp để ghi dữ liệu vào sử dụng thư mục tài liệu:

NSString *fileName = [NSString stringWithFormat:@"%@/textfile.txt",documentsDirectory]; 

// lưu nội dung của myTxtFile các tài liệu thư mục

**[myTxtFile writeToFile:fileName atomically:NO encoding:NSStringEncodingConversionAllowLossy error:nil];** 

Sau khi thực hiện điều này, bạn sẽ tìm thấy một file có tên textfile.txt trong thư mục tài liệu với nội dung lưu trữ trong nó ..

Chúc mừng !!!

+0

tại sao lại sử dụng 'NSStringEncodingConversionAllowLossy'? bạn cũng không đề cập đến lớp 'myTxtFile' – Raptor

Các vấn đề liên quan