IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

problème de routage


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    426
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 426
    Par défaut problème de routage
    Bonsoir à tous,

    J'ai un programme dont l'arborescence (obligatoire) est la suivante :
    TPprojet2
    |_ esstin
    |_outils (où je mets tous mes fichiers .java qui traitent les taches de fond)
    |_test (où je mets tous mes fichiers .java principaux)

    Cependant, certains fichiers contenus dans le package "outils" ET d'autres fichiers contenus dans le package "test" font appels à un même fichier Test.txt

    Or, quand je lance le main (contenu dans le package "test"), j'ai une erreur car le fichier Test.txt est malheureusement introuvable En effet, le programme le génère mais il le met à la racine de mon arborescence (c'est à dire au dessus du dossier "esstin").

    De ce fait, je pense que le fichier java qui créé le fichier (de sauvegarde) Test.txt devrait préciser dans quel package il doit être enregistré. C'est là que je bloque :
    * Comment donner la route à un fichier texte ?
    * Dans mon cas, quelle route dois-je lui donner puisque ce fichier est appelé par les deux packages ?

    Merci à tous pour votre aide,
    J'espère avoir été claire dans mes explications...
    Bonne soirée
    Aud-

  2. #2
    Membre émérite Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    par route tu entends chemin ?
    si c'est le cas pourquoi ne pas donner le chemin jusqu'à ta racine vu que c'est là qu'il est ...
    mais je ne suis pas sur d'avoir compris la question

  3. #3
    Membre émérite Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    Août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : Août 2007
    Messages : 599
    Par défaut
    Dans un cas comme celui-ci, je cherche pas trop. Je mets le fichier en ressource dans le .jar (test ou pas). et la JVM se charge de le trouver.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    426
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 426
    Par défaut
    Désolé mais je n'ai pas compris ta phrase : "Je mets le fichier en ressource dans le .jar (test ou pas)" et également "la JVM". N'oubliez pas que j'ai postée ce message dans la partie "débutant"... ;-)

    Apparemment je n'ai pas été bien claire dans mes explications : quand je dis "routage" ça veut dire "le chemin d'accès" au fichier en question.

    Je fais un rappel des faits :
    des fichiers .java dans des sous-dossiers différents pointent vers un même fichier Test.txt qui se trouve à la racine de mon arborescence. Cependant, je n'arrive pas à dire aux fichiers, comment pointer vers l'adresse de cet élément (Test.txt) qui se trouve à la racine...

    Merci à tous pour vos futures réponses
    Aud-

  5. #5
    Membre émérite Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    Août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : Août 2007
    Messages : 599
    Par défaut
    Lorsque tu généres un test ou lapplication, tu fais un .jar. Le .jar contient toutes les ressources pour l'execution du projet, et aussi les fichier .class.

    Pour avoir accès à une ressouce dans le .jar (type text.txt), il te faut utiliser le classLoader de la classe : this.class().getRessourceAsStream("nomDeLaClasseAvecPackage")

    Voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    InputStream is = this.getClass().getRessourceAsStream("test.txt");
    et tu travailles avec is comme classique.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    426
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 426
    Par défaut
    Voici mon code pour sauver et lire un fichier, voici ce qui se trouve dans ma class appelée Classement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    /** Procedure permettant la sauvegarde du classement */
    	public void save(String nomFich) {
    		try {
    			Writer fich = new FileWriter(nomFich);
    			fich.write(new Integer(nbrMaxEq).toString() + "\n");
    			for (int i = 0; i < nbrMaxEq; i++) {
    				String tmp = "" + getEquipeID(i + 1).getNom() + ""
    						+ getEquipeID(i + 1).getPoints() + " "
    						+ getEquipeID(i + 1).getJournee() + ""
    						+ getEquipeID(i + 1).getGagnee() + " "
    						+ getEquipeID(i + 1).getNulle() + ""
    						+ getEquipeID(i + 1).getPerdu() + " "
    						+ getEquipeID(i + 1).getDiffBut() + "\n";
    				fich.write(tmp);
    			}
    			fich.close();
    		} catch (IOException e) {
    			System.err.println(nomFich + " - Erreur: " + e.toString());
    		}
    	}
     
    	/** Lecture du fichier avec les informations */
    	public void lireFichier(String nomFich) {
    		String line;
    		int i = 0;
    		boolean firstLine = true;
    		try {
    			FileReader fich = new FileReader(nomFich);
    			BufferedReader tampon = new BufferedReader(fich);
    			boolean eof = false;
    			while (!eof) {
    				line = tampon.readLine();
    				if (line == null)
    					eof = true;
    				else {
    					if (firstLine) {
    						int nbrEq = Integer.parseInt(line);
    						eq = new Equipe[nbrEq];
    						ind = 0;
    						nbrMaxEq = nbrEq;
    						firstLine = false;
    					} else {
    						line = line.trim();
    						ind = line.indexOf(' '); // indice de l'espace
    						String nom = line.substring(0, ind);// on recupere le nom
    						line = line.substring(ind);
    						line = line.trim();
    						ind = line.indexOf(' '); // espace
    						int Pts = Integer.parseInt(line.substring(0, ind)); // on recupere les points
    						ind = line.indexOf(' ');
    						line = line.substring(ind);
    						line = line.trim();
    						ind = line.indexOf(' ');
    						int J = Integer.parseInt(line.substring(0, ind));
    						ind = line.indexOf(' ');
    						line = line.substring(ind);
    						line = line.trim();
    						ind = line.indexOf(' ');
    						int G = Integer.parseInt(line.substring(0, ind));
    						ind = line.indexOf(' ');
    						line = line.substring(ind);
    						line = line.trim();
    						ind = line.indexOf(' ');
    						int N = Integer.parseInt(line.substring(0, ind));
    						ind = line.indexOf(' ');
    						line = line.substring(ind);
    						line = line.trim();
    						ind = line.indexOf(' ');
    						int P = Integer.parseInt(line.substring(0, ind));
    						ind = line.indexOf(' ');
    						line = line.substring(ind);
    						line = line.trim();
    						int Diff = Integer.parseInt(line);
    						eq[i] = new Equipe(nom, i + 1);
    						eq[i].setPoints(Pts);
    						eq[i].addJournee(J);
    						eq[i].addGagnee(G);
    						eq[i].addNulle(N);
    						eq[i].addPerdu(P);
    						eq[i].addDiffBut(Diff);
    						i++;
    					}
    				}
    			}
    			tampon.close();
    			fich.close();
    		} catch (IOException e) {
    			System.err.println(nomFich + " - Erreur: " + e.toString());
    		}
    	}
    Je suppose que c'est à cet endroit que je dois préciser où je veux qu'il enregistre le fichier ? ou alors il faut que je modifie la ligne de celui qui appelle le fichier ?

    Voici le code contenu dans la class nommée "FenetreSimple" qui appelle le fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Championnat ch = new Championnat("test.txt");
    ch.saver("test.txt");
    ch.lire("test.txt");

Discussions similaires

  1. Problème de routage
    Par Baldbull dans le forum Chez soi
    Réponses: 1
    Dernier message: 14/12/2008, 17h06
  2. Problème de routage
    Par zenux dans le forum Développement
    Réponses: 0
    Dernier message: 02/07/2008, 13h27
  3. [Migration 2003 - 2007] problème de routage des mails
    Par nicoda dans le forum Exchange Server
    Réponses: 0
    Dernier message: 15/01/2008, 11h03
  4. [MVC] Problème de routage
    Par Bast_ dans le forum MVC
    Réponses: 9
    Dernier message: 11/10/2007, 12h57
  5. Problème de routage
    Par boubajazz dans le forum Réseau
    Réponses: 8
    Dernier message: 18/06/2007, 09h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo