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

Services Web Java Discussion :

[File]Recuperer un répertoire


Sujet :

Services Web Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Points : 37
    Points
    37
    Par défaut [File]Recuperer un répertoire
    Bonjour,

    Je travaille actuellement sur le développement d'un WebService avec Axis2 et Tomcat 5.5.23 et hibernate 3.2

    J'ai un package com.config contenant tous mes fichiers de configurations d'hibernate (hibernate1.cfg.xml, hibernate2.cfg.xml ...)

    J'ai une classe TapasFactory qui s'occupe d'instancier toutes mes SessionFactory.
    Ce que j'aimerai , c'est lister tous les fichiers contenus dans le package com.config.

    J'ai essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    File rep=new File("com/config"
     String[] fileList = config.list();
    Mais ca marche pas, car la racine pointe sur le UserDir qui est chez moi c:\eclipse
    J'ai aussi tenter :
    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
     
    InputStream in = getClass().getResourceAsStream("com/config");
    if(in==null) {
      System.out.println("C NULL");
      return;
    }
    System.out.println("DEBUT TEST STREAM");
    int c;
    byte buffer[] = new byte[1024];
    File config = new File("config");
    FileOutputStream fileOut = new FileOutputStream(config);
    in.read(buffer, 0, 1024);
    fileOut.write(buffer, 0, 1024);
    while ((c = in.read()) != -1) {
    	fileOut.write(c);
    	    }
    in.close();
    fileOut.close();
    Toute façon j'ai même pas pu tester la bonne marche de ce bout de code car
    in est null

    Donc je sèche, je pense qu'il faudrai que j'aie le classpath virtuel ou un truc dans ce genre, mais la je ne sais pas trop comment m'y prendre, je suis un peu perdu.

    Merci d'avance .

  2. #2
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Pas moyen en Java de lister le "contenu" d'un package ... Pour mieux comprendre, je te conseille de te documenter sur les Class Loader.

    Pour ce qui est de ton "souci", tu pourrais peut être regarder dans le jar ce qui se trouve dans le répertoire en question non ? (voir maniuplation de Zip et classe JarFile)

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Points : 37
    Points
    37
    Par défaut
    Ouais lire le jar c'est un peu ça que j'essaie de faire lol. Le problème c'est que je ne sais pas comment faire.
    Vu que je fais un aar, et que je l'upload dans tomcat et que le chemin peut varier je ne vois pas comment y accéder.

    N'empêche que vais me documenter sur le ClassLoader parce que je suis en train de tout mélanger

  4. #4
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Comment ça le chemin peut varier ?

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Points : 37
    Points
    37
    Par défaut
    Disons que cela peut être très bien dans c:\apache\...\axis2\services
    ou c:\programme files\apache...

    Mais en fait c'est bête ce que j'ai dis car il suffit d'avoir une variable d'environnement qui indique l'emplacement du répertoire services et après je m'arrange

    En fait apres ca risque de se compliquer vu qu'il va falloir utiliser WebSphere pour faire tourner Axis (j'y suis pour rien), donc en fait la suis perdu

  6. #6
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Et tu peux pas trouver le jar en relatif ?

  7. #7
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Points : 37
    Points
    37
    Par défaut
    Comment en relatif ?

  8. #8
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Points : 37
    Points
    37
    Par défaut
    Bon j'ai trouvé lol
    Je me suis aidée d'un message posté ici
    http://www.developpez.net/forums/sho...d.php?t=168275

    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
    String nomPkg="com/config";
    	    ZipFile zipFile;
    	    try {
    		String pathAAR=System.getenv("AXIS2_HOME")+File.separator+"WEB-INF"+File.separator+"services"+File.separator+"Tapas.aar";
    		    zipFile = new ZipFile(pathAAR);
    		    Enumeration e = zipFile.entries();
    		    while (e.hasMoreElements()) {
    		         ZipEntry ze = (ZipEntry) e.nextElement();
    		         if(ze.getName().startsWith(nomPkg) && ze.getName().endsWith("cfg.xml")){
    		             String nom=ze.getName();
    		             int debut1=new String(nomPkg+"/hibernate").length();
    		             int debut2=nom.indexOf(".cfg.xml");
    		             String num=nom.substring(debut1,debut2);
    		 	    factorys.put(num, new Configuration().configure(nom).buildSessionFactory());
    		         }
    		    }
     
    	    } catch (IOException e) {
    		// TODO Auto-generated catch block
    		e.printStackTrace();
    	    }
    	}
    Voila et merci pour l'aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] upload file dans quel répertoire
    Par jejeman dans le forum Symfony
    Réponses: 4
    Dernier message: 13/04/2015, 12h32
  2. input type=file : recuperer non pas un fichier mais le dossier courant
    Par caromat dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 05/05/2010, 20h15
  3. Comment compter le nombre de files et de répertoire?
    Par jean christophe dans le forum Débuter
    Réponses: 6
    Dernier message: 04/05/2010, 13h52
  4. [File] Problème de répertoire courant
    Par seb_asm dans le forum Applets
    Réponses: 5
    Dernier message: 03/05/2005, 19h44
  5. [net] recuperer les proprietes d'un File via une URL
    Par mma dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 06/05/2004, 12h45

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