Problème écriture dans un fichier [Résolu]
zhuzhu
Membre
le nom de mon fichier s'appelle : Test.txt
output est une chaine de caractère ("nsstring")
Lorsque je suis en simulateur et que je fait :
NSURL* url = [[NSBundle mainBundle] URLForResource:@Test withExtension:@txt]; // chemin d'accès au fichier .txt
[output writeToFile:url atomically:YES encoding:NSUTF8StringEncoding error:nil];
cela fonctionne très bien, mais lorsque je le le compile sur la tablette, le "gdb" me dit que
le fichier ne comporte rien.
Le fichier ce situe dans le doc "Resources" de l'application.
Est-il possible de passé par l'url pour pouvoir écrire dans un txt?
Mots clés:
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Les ressources du Bundle sont en lecture seule.
Il faut utiliser les méthodes de localisation des dossiers standards de NSFileManager pour trouver par exemple le dossier des documents. Là ils sont en lecture/écriture.
j'ai trouver ceci: http://www.techotopia.com/index.php/Working_with_Files_in_Objective-C
je testerai donc demain vers 10h (j'ai laisser le mac sur lequel je code au lycée) :
NSFileHandle *file;
NSMutableData *data;
data = [NSMutableData dataWithBytes:output length:strlen(output)];
file = [NSFileHandle fileHandleForUpdatingAtPath: @Test.txt];
if (file == nil)
NSLog(@Failed to open file);
[file seekToFileOffset: 10];
[file writeData: data];
[file closeFile];
merci pour les réponses.
Du coup il faudrait que j'enlève le [NSBundle mainBundle] ?
Je craque !
Et, pour référence https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html
J'ai essayé ton code Joanna mais sa n'écrit pas dans le fichier, il n'affiche pas d'erreur non plus.
Où cherches-tu pour le fichier ? T'as vérifié avec le debugger que input contient la valeur ?
à c'est bon j'ai réussi a réglé le soucis, j'avais laisser un bundle sur la récupération du contenu fichier en lecture seul, du coup il récupéré rien ... merci Joanna, ce forum est vraiment bien, la communauté est toujours présente sujet résolu