Fichier texte
Fermé
chida29
Messages postés
31
Date d'inscription
jeudi 9 mai 2013
Statut
Membre
Dernière intervention
29 novembre 2013
-
7 juin 2013 à 11:44
tksteph Messages postés 204 Date d'inscription samedi 20 mars 2010 Statut Membre Dernière intervention 3 janvier 2018 - 8 juin 2013 à 01:37
tksteph Messages postés 204 Date d'inscription samedi 20 mars 2010 Statut Membre Dernière intervention 3 janvier 2018 - 8 juin 2013 à 01:37
A voir également:
- Fichier texte
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier host - Guide
- Ouvrir fichier .bin - Guide
3 réponses
tksteph
Messages postés
204
Date d'inscription
samedi 20 mars 2010
Statut
Membre
Dernière intervention
3 janvier 2018
25
7 juin 2013 à 14:29
7 juin 2013 à 14:29
Tu peux lire le fichier completement et le réecrire en laissant les lignes que tu souhaites supprimer.
Tu peux t'inspirer de ce code(Je l'avait fait dans un contexte un peu diff) Mais
Le principe c'est: il prend en param le nom du fichier et la ligne à supprimer.
Tu devrais pouvoir y arriver sans difficultés.
Tu peux t'inspirer de ce code(Je l'avait fait dans un contexte un peu diff) Mais
Le principe c'est: il prend en param le nom du fichier et la ligne à supprimer.
Tu devrais pouvoir y arriver sans difficultés.
/** * */ /** * @author xxx * */ public class DeleteLine { public static boolean deleteLine(final String fileName, final int lineNumber) { try { final BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(fileName))); final StringBuffer sb = new StringBuffer(); String line; int nbLinesRead = 0; while ((line = reader.readLine()) != null) { if (nbLinesRead != lineNumber) { sb.append(line + "\n"); } nbLinesRead++; } reader.close(); final BufferedWriter out = new BufferedWriter(new FileWriter(fileName)); out.write(sb.toString()); out.close(); } catch (final Exception e) { return false; } return true; } public static void main(final String [] args){ if(DeleteLine.deleteLine("test.txt",2)){ System.out.println("File Deleted"); return; } System.out.println("File NOT Deleted"); } }
chida29
Messages postés
31
Date d'inscription
jeudi 9 mai 2013
Statut
Membre
Dernière intervention
29 novembre 2013
7 juin 2013 à 19:07
7 juin 2013 à 19:07
merci pour votre réponse.
en faite je veux supprimé les ligne qui se répètent, j'ai tout essayé mai sa ne marche pas, j'ai fait des conditions sa ne marche pas non plus. je ne c'est pas quoi faire??
en faite je veux supprimé les ligne qui se répètent, j'ai tout essayé mai sa ne marche pas, j'ai fait des conditions sa ne marche pas non plus. je ne c'est pas quoi faire??
tksteph
Messages postés
204
Date d'inscription
samedi 20 mars 2010
Statut
Membre
Dernière intervention
3 janvier 2018
25
8 juin 2013 à 01:37
8 juin 2013 à 01:37
La difficulté résidera donc dans le fait de devoir identifier deux lignes égales, ce qui impose soir de stocket les lignes lues soit de lire le fichier deux fois.
La première solution me paraît moins couteuse,
A chaque fois que tu lis une ligne de ton fichier, tu la converti en String et tu stocke dans un Tableau/Liste si elle n'existe pas déja dans ton tableaux. et tu conserve aussi son numéro de ligne;
Puis tu utilises l'algorithme proposé plus haut pour réécrire ton fichier en supprimant les lignes aux numéros obtenus.
La première solution me paraît moins couteuse,
A chaque fois que tu lis une ligne de ton fichier, tu la converti en String et tu stocke dans un Tableau/Liste si elle n'existe pas déja dans ton tableaux. et tu conserve aussi son numéro de ligne;
Puis tu utilises l'algorithme proposé plus haut pour réécrire ton fichier en supprimant les lignes aux numéros obtenus.