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
Bonjour,
j'aimerais supprimé des lignes d'une fichier. comment je vais faire?

C0678118|Microscopy Electron Transmission|1
C0035661|Ritodrine|2
C0376446|Reducing Agents|3
C0006030|Boron|1
C0009393|Color|1
C0022023|Ions|1
C0007026|Carbonates|1
C0037473|Sodium|4
C1533692|Tooth Eruption|1
C0008196|Chlorhexidine|1
C0456909|Blindness|1
C0011427|Dentifrices|6
C1566391|Coloring Agents|9
C0376446|Reducing Agents


SVP aidez moi c'est urgent.
Merci d'avance.
A voir également:

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
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.



/**
 * 
 */

/**
 * @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");

	}
}







0
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
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??
0
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
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.
0