[JAVA] traitement de fichier texte

Résolu
calaglin2 Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   -  
calaglin2 Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour je dois développer un programme en java permettant l'édition d'un fichier texte. Il doit permettre de modifier les champs voulus et les remplacer par d'autres.
J'ai lu que cela était possible en traitant puis en écrasant le fichier mais comment cela est il possible ?
Je sais déjà comment lire et écrire dans un fichier texte

merci d'avance
A voir également:

2 réponses

Utilisateur anonyme
 
Salut!

qu'entends-tu par "les champs voulus"?

Un fichier texte ne contient pas de "champs". A moins que tu ne veuilles parler d'un fichier CSV?

;-)
HackTrack
1
calaglin2 Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   13
 
je voulais juste dire que l'on pouvait changer ce que l'on voulait dans le texte et parfois des endroits précis dans le texte c'est tout :)
à vrai dire je développe un programme permettant de configurer un serveur samba, donc un logiciel qui édite le fichier smb.conf avec une interface graphique mais pour l'instant je m'occupe de la classe qui édite le .conf
0
calaglin2
 
alors personne n'a d'idées ?
0
kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
La solution la plus simple, puisque tu sais comment lire écrire un fichier, est du lire le fichier afin de l'afficher dans un JText par exemple.
Ce JText tu lui donne la permission d'écriture dessus, afin que l'utisateur puisse en modifier le contenu. A ton interface tu ajoute un bouton "Enregistrer", sur lequel tu place un évênement "onclick" qui déclenche une action d'écrite.
L'action d'écriture consiste à reprendre la valeur du texte présent dans ton JText, et d'écraser le contenu du fichier avec ce nouveau texte.
Ainsi le contenu de ton fichier pourra etre modifiable à souhait.

Ensuite tu peux toujours faire un petit bouton "Choisir..." qui permet d'aller ouvrir un autre fichier, et voilà ton éditeur est pret :)

Si tu as d'autres questions..
0
calaglin2 Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   13
 
justement l'intérêt c'était de ne pas toucher directement au fichier, si il faut afficher tout le fichier dans un JText pour le modifier autant ne pas faire de programme et allé le modifier directement avec un traitement de texte.

j'ai trouvé la solution :
le fichier à modifier étant le smb.conf de samba, mon programme prend en argument le nom de l'option à modifier + la nouvelle valeur, il recherche l'option en parcourant le fichier et en le recopiant dans un nouveau fichier avec un printWriter.
Quand je rencontre l'option, je la recopie avec la nouvelle valeur et à la fin j'écrase l'ancienne version avec la nouvelle en renommant celle ci comme l'ancienne avec renameTo(File) de la classe File.
0