¿Cómo guardo un NSString como archivo .txt en el directorio de documentos locales de mi aplicación (UTF-8)?¿Cómo guardo un NSString como archivo .txt en el directorio de documentos locales de mi aplicación?
¿Cómo guardo un NSString como archivo .txt en el directorio de documentos locales de mi aplicación?
Respuesta
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents directory
NSError *error;
BOOL succeed = [myString writeToFile:[documentsDirectory stringByAppendingPathComponent:@"myfile.txt"]
atomically:YES encoding:NSUTF8StringEncoding error:&error];
if (!succeed){
// Handle error here
}
podría utilizar NSUserDefaults
Ahorro:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:@"TextToSave" forKey:@"keyToLookupString"];
lectura:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSString *myString = [prefs stringForKey:@"keyToLookupString"];
Amigo, archivos .txt – RexOnRoids
convenidas se pudiera, y esto es una alternativa válida. No es lo que está pidiendo, pero si no sabes cuán fácil es usar las preferencias, no sabrías usarlas. +1 –
¡No olvide llamar a '[prefs synchronize]' después de guardar algo en NSUserDefaults! –
Algo como esto:
NSString *homeDirectory;
homeDirectory = NSHomeDirectory(); // Get app's home directory - you could check for a folder here too.
BOOL isWriteable = [[NSFileManager defaultManager] isWritableFileAtPath: homeDirectory]; //Check file path is writealbe
// You can now add a file name to your path and the create the initial empty file
[[NSFileManager defaultManager] createFileAtPath:newFilePath contents:nil attributes:nil];
// Then as a you have an NSString you could simple use the writeFile: method
NSString *yourStringOfData;
[yourStringOfData writeToFile: newFilePath atomically: YES];
Él es cómo guardar NSString en la carpeta Documentos. Guardar otros tipos de datos también se puede realizar de esa manera.
- (void)saveStringToDocuments:(NSString *)stringToSave {
NSString *documentsFolder = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
NSString *fileName = [NSString stringWithString:@"savedString.txt"];
NSString *path = [documentsFolder stringByAppendingPathComponent:fileName];
[[NSFileManager defaultManager] createFileAtPath:path contents:[stringToSave dataUsingEncoding:NSUTF8StringEncoding] attributes:nil];
}
Estaba utilizando este método para guardar algunos datos de imagen codificados en base64 en el disco. Al abrir el archivo de texto en mi computadora, tuve problemas para leer los datos porque algunos saltos de línea y retornos se agregaron automáticamente.
los siguientes arreglos de código de este problema:
myString = [myString stringByReplacingOccurrencesOfString:@"\n" withString:@""];
myString = [myString stringByReplacingOccurrencesOfString:@"\r" withString:@""];
// write string to disk
- 1. Lea un archivo .txt dentro del directorio de documentos
- 2. ¿Cómo crear un archivo .zip desde mi directorio de documentos?
- 3. ¿Cómo guardo un UIImage en un archivo?
- 4. ¿Cómo guardo un objeto de diccionario en mi archivo web.config?
- 5. Analizando un archivo XML almacenado en el directorio de documentos de una aplicación de iPhone
- 6. Cómo convertir el archivo * .txt en Unicode
- 7. ¿Cómo guardo un archivo como UTF-8 de Perl?
- 8. Actualizaciones de la aplicación, NSURL y el Directorio de documentos
- 9. Cómo agregar una cadena en el archivo txt de recursos locales para iOS sdk
- 10. Cómo leer un archivo TXT en el Directorio de la página del servidor Java
- 11. Ver el contenido de mi directorio de documentos
- 12. ¿Cómo puedo distribuir mi aplicación Perl como un único archivo?
- 13. Obtener una matriz de directorios en el directorio de documentos
- 14. Crear un archivo RDF usando un archivo txt como entrada
- 15. Indicando a Python que guarde un archivo .txt en un directorio determinado en Windows y Mac
- 16. Cómo tomo un ByteArrayInputStream y guardo su contenido como un archivo en el sistema de archivos
- 17. cómo sobrescribir datos en un archivo txt?
- 18. ¿Por qué mi aplicación no está en la lista de aplicaciones para abrir el archivo txt?
- 19. Contenido seguro en el directorio de Documentos
- 20. ¿Cómo agrego un archivo TXT a un recurso en mi archivo EXE?
- 21. ¿Cómo guardo un ImageView como una imagen?
- 22. Cargando una imagen del directorio de documentos
- 23. Adjuntar un archivo txt en
- 24. Reproducción de un video descargado desde el directorio de documentos con Cocoa-Touch
- 25. ¿Cómo guardo un cuadro de texto multilínea como una línea en un archivo de texto?
- 26. Cómo leer en un archivo txt
- 27. ¿Cómo guardo mi gemset de rvm mientras uso tmux?
- 28. ¿Alguna forma de obtener un UIImage en caché de mi directorio 'Documentos'?
- 29. ¿Cómo eliminar los contenidos del directorio de Documentos (y no del directorio de Documentos en sí)?
- 30. PHP Crear y guardar un archivo txt en el directorio raíz
No pase 'nil' por el argumento' error: '. Por un lado, es el tipo incorrecto ('nil' es conceptualmente un' id', mientras que el argumento 'error:' es un 'NSError **', que es básicamente un 'id *'); la constante del tipo correcto es 'NULL'. Más importante aún, cuando esta declaración falla, ¿no quieres saber por qué? –
Progreso, pero tampoco debe asumir que 'error' es' nil' cuando el mensaje tiene éxito. Pruebe si el mensaje devolvió 'SÍ' o' NO', y solo examine el objeto de error cuando devuelva 'NO'. Cita: http://developer.apple.com/mac/library/documentation/cocoa/conceptual/ErrorHandlingCocoa/CreateCustomizeNSError/CreateCustomizeNSError.html#//apple_ref/doc/uid/TP40001806-CH204-SW1 (primera barra lateral "importante") es cierto que es un poco oblicuo al respecto) –
Gracias por tus comentarios – Vladimir