Flux de données en java

Fermé
khk Messages postés 46 Date d'inscription mercredi 2 janvier 2013 Statut Membre Dernière intervention 11 juin 2013 - 8 févr. 2013 à 19:47
khk Messages postés 46 Date d'inscription mercredi 2 janvier 2013 Statut Membre Dernière intervention 11 juin 2013 - 13 févr. 2013 à 21:34
Bonjour,
il m'est demandé de faire ceci:
Ecrire un utilitaire de gestion de logs « WriteLog » où :
* Chaque log représente une ligne dans un fichier texte.
* Sur chaque ligne on trouve la date d'écriture, l'identifiant de son écrivain et
son commentaire.

Ecrire un utilitaire « ScanLog » de lecture des logs enregistrés dans l'exercice
précédent. Cet utilitaire doit permettre un parcours sélectif en utilisant les
options suivantes:
-after d : pour afficher les enregistrements écrits après la date d
-before d : pour afficher les enregistrements écrits avant la date d
-user u : pour afficher que les enregistrements écrits par l'écrivain u.

J'ai réussi à faire la premiére partie c'est à dire "WriteLog" mais pour le " ScanLog" j'y arrive vraiment pas..
Quelqu'un pourrai-il m'aider please..
Merci d'avance.

A voir également:

6 réponses

Chris 94 Messages postés 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 7 337
8 févr. 2013 à 19:52
Bonsoir,

Petit rappel : CCM ne fait pas les devoirs. Des conseils peuvent être demandés mais il ne faut pas espérer obtenir la solution.
0
khk Messages postés 46 Date d'inscription mercredi 2 janvier 2013 Statut Membre Dernière intervention 11 juin 2013
9 févr. 2013 à 16:31
Bonjour,
Je ne vous demande pas de me faire mon devoir , mais juste un peu d'aide en ce qui concerne le "after d" , "before d" et le "user u" ; j'ai créer une classe date.
Merci.
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
9 févr. 2013 à 16:49
Pour qu'on t'aide il faudrait que tu nous donne tous les éléments du problème !
Si je comprends bien, ScanLog permet de faire l'opération inverse de WriteLog, donc indique nous déjà comment tu as fait WriteLog, si ton log est mal écrit c'est normal que tu ais du mal à le lire, mais tu es le seul à avoir ces éléments sous le coude.
0
khk Messages postés 46 Date d'inscription mercredi 2 janvier 2013 Statut Membre Dernière intervention 11 juin 2013
10 févr. 2013 à 21:11
Ce que je n'arrive pas a comprendre c'est comment faire pour le "after d" et "before d" c'est la seule difficulté, j'ai créer une classe date et ma classe writeLog enregistre le nom le commentaire et la date de l'enregistrement de c derniers!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
10 févr. 2013 à 22:31
Tu lis tes enregistrements et tu regardes leur date, et selon si tu as "after" ou "before" et la valeur de "d", tu affiches ou tu n'affiches pas ton enregistrement...
0
khk Messages postés 46 Date d'inscription mercredi 2 janvier 2013 Statut Membre Dernière intervention 11 juin 2013
13 févr. 2013 à 21:34
Voilà, alors j'ai un peu avancé mais là je bloque sur un truc :
ça c'est mon code pour la recherche de l'auteur dans le fichier:
 import java.io.*;
import java.util.*;
import java.util.Scanner;
import java.io.LineNumberReader;


class Afficheruser{
public Afficheruser(){
		try{	Scanner sc = new Scanner(System.in);
			BufferedReader f = new BufferedReader(new FileReader("Write.txt"));
			LineNumberReader ligne = new LineNumberReader( new FileReader ("Write.txt"));
			System.out.print("\t Entrez Le Nom de l'auteur :"); 
			String n = sc.nextLine();
			String l = null; 
			int i =0;
			while ((l = f.readLine()) != null)
  			{
    				if (l.indexOf(n) != -1)
  {
   System.out.println("Mot trouve a la ligne " +i );
    	if (ligne.getLineNumber() == i || ligne.readLine()!= null )
   	System.out.println("\t Ligne N ="+ i + " : " +ligne.readLine().valueOf(l));
    				}
   					i++; 
   			}
   			ligne.close();
   			f.close();
   			}catch(IOException e){
			System.out.println("Erreur");
			}}}

Mais il fait une recherche d'un mot quelconque dans le fichier, et ce que je veux, c'est faire une recherche selon le nom de l'auteur seulement et l'afficher ainsi que le comentaire qu'il a écrit, mais je ne sais pas comment recupéré le champ" nom " du fichier à partir de ce code. et voici le code des entrées:
import java.*;
import java.io.*;
import java.util.*;
import java.util.Scanner;

class Entree{
	public  Entree(nom, comentaire){
				try{
BufferedWriter fichier = new BufferedWriter(new FileWriter("Write.txt", true));
			    System.out.print("\t Entrez Votre Nom :");
		   DataInputStream clavierN = new DataInputStream(System.in);
				String Nom = clavierN.readLine();
				System.out.println();
				
		System.out.print("\t Quel est votre commentaire :");
		DataInputStream clavierC = new DataInputStream(System.in);
				String Com = clavierC.readLine();
					System.out.println("\n");
fichier.write("\t Le Nom : "+Nom+" \t,Le commentaire : "+Com+",");
			    date d = new date();
				fichier.close();
				}catch(IOException e){
			System.out.println("Erreur");
			}}}


aidez moi SVP..
Merci d'avance
0