Bonsoir tous,
J'ai besoin d'écrire au début d'un fichier que je ne veux pas écraser. donc juste lui ajouter une phrase au début.
Est ce qu'il y a une méthode qui va permettre ceci :oops:?
Merci d'avance
Version imprimable
Bonsoir tous,
J'ai besoin d'écrire au début d'un fichier que je ne veux pas écraser. donc juste lui ajouter une phrase au début.
Est ce qu'il y a une méthode qui va permettre ceci :oops:?
Merci d'avance
tu peut récuper le contenu déja existant de ton fichier dans un string CH
aprés tu fait(si tu veut rester avec la classe String )Code:phrase_au_début += CH ;
Bonjour,
Comme l'a dit slim_java, tu peux créer un nouveau fichier dans lequel tu colles ta phrase de début, et le contenu de l'ancien fichier à la suite. Par contre, si ton fichier est gros, il faudrait éviter de le charger entièrement dans une String. Dans ce cas, il vaut mieux créer un nouveau fichier, écrire la phrase au début, puis lire séquentiellement l'ancien et coller son contenu ligne par ligne dans le nouveau. D'ailleurs, c'est ce que tu ferais si tu plaçais son contenu dans une String finalement. Donc au lieu de concaténer tes lignes de l'ancien fichier dans une String, tu les balances dans le flux du nouveau. Bien sûr après, tu supprimes l'ancien fichier et tu renommes le nouveau.
Je t'invite à regarder du côté des Reader et Writer, en particulier BufferedReader et BufferedWriter, qui savent gérer les lignes justement.
Bonjour, Merci pour vos réponses et pour les infos qui y sont.:)
En fait je voulais éviter de lire mon fichier ou de le transformer en String parceque ceci me créé des problèmes au niveau de l'encodage.
Est ce qu'il n'y a pas une méthode qui me permet d'insérer une nouvelle ligne sur le début du fichier sans toucher au reste ? :oops:
bonjour,
Sinon, tu regarde la classe java.io.RandomAccessFile, cela pourra peut être t'etre utile.
Comme le disait adiGuba il faudra quand même faire attention a l'encodage.
Non tu ne peux pas ajouter des données au début d'un fichier mais tu le peux à la fin d'un fichier avec le constructeur.Code:FileOutputStream("NomFichier", true)
Sinon tu es obligé de créer un new fichier écrire ta new donnée, recopier l'ancien fichier, l'effacer puis enfin renommer ton nouveau fichier.