écrire dans un fichier du bundle

jannold2

Membre confirmé
11 Avril 2007
55
0
40
Bonjour

j'aimerais écrire dans un fichier du bundle
j'arrive à lire facilement un fichier texte
Bloc de code:
NSString* filename = [NSBundle mainBundle] pathForResource:@"essai" ofType:@"txt"];
    NSString *info = [NSString stringWithContentsOfFile:filename];
    NSArray *arrayOfLines = [info componentsSeparatedByString:@"\n"];

mais pas à écrire !
(@"toto" writeToFile:filename .....)
pourtant ça marche si au lieu d'un fichier du bundle je mets "/tmp/essai.txt"

Une fois cela fait, j'aurai beaucoup beaucoup de lignes à écrire, et donc je ne veux pas les mettre toutes dans une NSString*, pour faire ensuite un seul mastring writetofile, donc comment faire pour écrire à la fin d'un fichier ?

j'ai essayé des choses comme FILE* file =... et ça ne marche pas non plus sur les fichiers du bundle

sauriez vous m'aider ?
merci d'avance
Thomas
 
Mauvaise idée, très mauvaise idée. On n'écrit jamais dans un bundle qui est un bête répertoire pour lequel ton utilisateur n'aura certainement pas les droits en écriture.
Trouve une autre solution : les préférence ou application support seront certainement plus adaptés à ce que tu veux faire.
 
ah c'est pour ça ?
ok d'accord, je ne vois pas trop pourquoi on n'a pas les droits d'écriture dessus mais bon...
à ce propos il y a une "fonction spéciale" qui donne l'adresse de Application Support ?
merci
Thomas
 
ok d'accord, je ne vois pas trop pourquoi on n'a pas les droits d'écriture dessus mais bon...
Parce que l'utilisateur lambda ne doit pas pouvoir modifier une appli et donc la faire planter.
Parce qu'il faudrait réinstaller l'appli si ton programme a foutu le souk.
Même si on a souvent cette impression, les droits Unix ne sont pas juste là pour ennuyer les gens. ;)

à ce propos il y a une "fonction spéciale" qui donne l'adresse de Application Support ?
La fonction NSSearchPathForDirectoriesInDomains() déclarée dans NSPathUtilities.h devrait faire l'affaire.