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

Entrée/Sortie Java Discussion :

acces fichier marche avec ide mais pas sur le jar


Sujet :

Entrée/Sortie Java

  1. #1
    Futur Membre du Club
    acces fichier marche avec ide mais pas sur le jar
    bonjour,
    un peu perdu dans les accès fichiers. Donc le code marche sur l'ide mais lorsque je le passe en dist zip je n'accède pas au fichier avec une erreur filenotfound.
    C'est un fichier text.xml qui est dans le resources du projet.
    depuis le chemin qui est afficher est le chemin jusqu'au blabla\monappli.jar!\dataRU.xml

    ll y a aussi un private storage file not available

    voici le code
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
      InputStream file = new FileInputStream(ClassLoader.getSystemResource("dataRU.xml").getPath());

  2. #2
    Modérateur

    Salut,

    Utilise getResource() sur une de tes classes plutôt que ClassLoader.getSystemResource(). Attention au chemin aussi en fonction de l'emplacement relatif à la classe en question.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Futur Membre du Club
    Citation Envoyé par joel.drigo Voir le message
    Salut,

    Utilise getResource() sur une de tes classes plutôt que ClassLoader.getSystemResource(). Attention au chemin aussi en fonction de l'emplacement relatif à la classe en question.
    Là où je me perds c'est que avec le getclass.getResources("monFichier.trux") on peut avoir un inputstream. Si il est dans le le resources du projet. Par contre avec un outputstream il faut donner le chemin du genre src/resources/...
    Bon c'est pas dramatique mais voila je perds la logique.
    Bon j'ai résolu pour l'instant mon problème sans trop savoir, mais je vais survivre.

    merci;

  4. #4
    Modérateur

    Les ressources sont read-only, ou en tout cas elles sont censées l'être.

    Il n'y a donc pas de système prévu pour obtenir des OutputStream vers les ressources, mais s'il se trouve qu'elles sont dans le système de fichier, eh bien ce sont des fichiers normaux et il est donc bien sûr possible de les modifier. Il ne faut pas le faire, mais c'est un ordinateur, impossible de l'empêcher.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java