2010-02-22 14 views
8

Ich bin neu in der Entwicklung von View-basierten iPhone-Anwendungen, und ich muss diese "TXT" -Datei aus dem Internet herunterladen und speichern Sie sie in den Dokumentenordner der App. Kann mir jemand einfach zeigen, wie ich das machen kann? Die TXT-Datei ist von einer winzigen Größe, so würde ich keine User-Interface-Objekte müssen ...Wie lade ich eine Textdatei mit dem iPhone SDK herunter?

Danke,

Kevin

Antwort

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 
} 

Dann ist es speichern Sie verwenden können:

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

Und es abzurufen:

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

Aktualisiert Joes Eingang

+0

Wo wird die MyFile.txt sein? Ich habe die Dokumente eingecheckt und es ist nicht dort ... – lab12

+1

Sorry, es ist nicht wirklich im Ordner Dokumente, es ist in den Benutzervorgaben. Sie können es mit der letzten Zeile in meiner Antwort abrufen. Gibt es einen bestimmten Grund, dass es im Dokumentenordner sein muss? –

+0

Nein, eigentlich dachte ich, es wäre einfacher, es im Ordner Dokumente zu finden. : D. – lab12

1

Hey Sie die Zeichenfolge Inhalt in die Datei im Dokumentordner wie folgt schreiben können reflektieren:

// Verzeichnis Dokumente erhalten:

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

// Geben Sie einen Dateinamen ein, um die Daten in das Verzeichnis documents zu schreiben:

// Inhalt speichern myTxtFile auf das Dokumentenverzeichnis

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

Nach dieser Ausführung werden Sie eine Datei mit dem Namen textfile.txt im Dokumentordner mit den darin gespeicherten Inhalten finden ..

Prost !!!

+0

Warum verwenden Sie 'NSStringEncodingConversionAllowLossy'? Außerdem hast du die Klasse von 'myTxtFile' nicht erwähnt – Raptor

Verwandte Themen