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

Java Discussion :

localisation fichier selon méthode lancement .jar


Sujet :

Java

Vue hybride

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 268
    Par défaut localisation fichier selon méthode lancement .jar
    Bonjour, je travaille sur un programme qui génère régulièrement un fichier XML après avoir lu une base de données.
    La problématique qui me concerne est la localisation de ce fichier.

    Quand je travaille sous Eclipse: il prend le dossier courant.

    Quand je travaille sur le .jar généré en lançant de cette façon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    pushd "%~dp0%"
    java -jar prodchecker.jar
    , il prend le dossier courant

    Mais si je double clique sur le .jar, alors il ne prend pas le dossier courant et je ne trouve pas le fichier.

    Voici comment je procède :
    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
     
      Class class1;
    		  URL url  = null;
    		  URL relativeURL  = null;
    		  URL relativeURLTemp = null;
    		  File outputFile = null;
    	      File outputTempFile = null;
     
     
     
    		try {
    			 class1 = Class.forName("core.Main");
    			 url = class1.getResource("");
    		     relativeURL = new URL(url, "../output.xml");
    		     relativeURLTemp = new URL(url, "../outputTemp.xml");
    		     outputFile = new File(relativeURLTemp.getPath());
    		     outputTempFile = new File(relativeURL.getPath());
     
     
    		} catch (ClassNotFoundException e1) {
    			// TODO Auto-generated catch block
    			e1.printStackTrace();
    		} catch(MalformedURLException mue){
     
    		}
    puis
    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
     
      //write the content into xml file
    		  TransformerFactory transformerFactory = TransformerFactory.newInstance();
    		  Transformer transformer;
    		  try {
    			  transformer = transformerFactory.newTransformer();
    			  DOMSource source = new DOMSource(doc_);
    			  StreamResult result =  new StreamResult(outputTempFile);
    			  transformer.transform(source, result);
     
     
    		} catch (TransformerConfigurationException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (TransformerException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    puis (facultatif ici)
    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
     
    try{
     
    		      InputStream in = new FileInputStream(outputTempFile);
     
    		        //For Overwrite the file.
    		      OutputStream out = new FileOutputStream(outputFile);
     
    		      byte[] buf = new byte[1024];
    		      int len;
    		      while ((len = in.read(buf)) > 0){
    		        out.write(buf, 0, len);
    		      }
    		      in.close();
    		      out.close();
    		      System.out.println("File copied.");
    		    }
    		    catch(FileNotFoundException ex){
    		      System.out.println(ex.getMessage() + " in the specified directory.");
    		      System.exit(0);
    		    }
    		    catch(IOException e){
    		      System.out.println(e.getMessage());      
    		    }
     
    		  System.out.println("Done");
    	}
    Comment faire?
    Merci!

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 268

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 268
    Par défaut
    http://xerces.apache.org/mirrors.cgi#binary

    Il faut aussi passer à Java 1.6

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

Discussions similaires

  1. ajout fichiers properties au lancement du jar
    Par Katachana dans le forum Langage
    Réponses: 3
    Dernier message: 19/02/2009, 17h35
  2. [JAR] Lire et Ecrire dans un fichier contenu dans un jar
    Par lipao17 dans le forum Général Java
    Réponses: 5
    Dernier message: 02/05/2005, 12h01
  3. [JAR]Fichier manifest dans un jar
    Par nicoo dans le forum Général Java
    Réponses: 2
    Dernier message: 10/03/2005, 08h51
  4. [JAR]ouverture de fichier texte depuis executables jar
    Par julien31 dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 01/03/2005, 15h53
  5. [JAR] Comment écrire dans un fichier properties dans un jar
    Par Alec6 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 05/10/2004, 15h16

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