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

Langage Java Discussion :

converti URL au format String


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 74
    Points : 31
    Points
    31
    Par défaut converti URL au format String
    salut a tout le monde.
    j'ai créé un petite application java et j'ai utilisé des fichier jasperreport , j'ai été obligé de donné le chemin de fichier jaspertreport dans le format String, pour faire ça j'ai utilisé ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    URL subR = this.getClass().getResource("TabProduits.jasper");
     JOptionPane.showMessageDialog(new JFrame(),subR.getFile().replaceAll("%20", " "));
    param.put("SUBREPORT_DIR", subR.getFile().replaceAll("%20", " "));
    lorsque j'execute l'application dans netbeans oubien avec le fichier jar elle marche trés bien et affiche le chemin comme ça:
    /D:/projet java/gest/build/classes/gest/commer/TabProduits.jasper
    mais lorsque je faix une application instalable , et je l'installe dans programe files , l'application ne trouve pas mon fichier et elle affiche le chemin comme ça:
    file:/C:/program files/gest/gest.exe/gest/commer/TabProduits.jasper
    je sais pas pourquoi ajouter le mot file,
    aidez moi svp et merci d'avance.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 552
    Points : 21 608
    Points
    21 608
    Par défaut
    Hello,

    Une ressource contenue dans un fichier n'est pas un fichier (et encore moins un répertoire) : c'est quelque chose qui est à l'intérieur d'un fichier.

    Tu ne peux pas le fournir à quelque chose qui attend un fichier.

    Dans ton cas, SUBREPORT_DIR est censé représenter un répertoire dans lequel trouver tes subReports (et je n'ai aucune idée de comment TabProduits.jasper est censé être un répertoire).
    Quoi qu'il en soit c'est impossible. A l'intérieur d'un fichier exécutable, il n'y a pas de fichier ni de répertoire.

    Il vaut mieux que tu te renseignes sur d'autres moyens d'accéder à tes subReports qu'avec des fichiers sur le disque dur. Voir s'il n'y a pas moyen de les précharger en mémoire et d'utiliser ça à la place de SUBREPORT_DIR.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 74
    Points : 31
    Points
    31
    Par défaut
    SUBREPORT_DIR c'est le nom d'un variable qui doit contenir le chemin d'accé a un fichier (tabProduit.jesper) , et comme je travaille avec ireport l'affictation d'une valeur a son variable se fait avec un methode java (put(var, valeur)).

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 552
    Points : 21 608
    Points
    21 608
    Par défaut
    Non un répertoire, pas un fichier. C'est ce que veut dire le DIR à la fin.

    Mais peu importe puisque, à partir du moment où c'est une ressource à l'intérieur d'un fichier .exe, ce n'est pas un fichier ni un répertoire. Il faut donc faire autrement qu'avec SUBREPORT_DIR, point final.

    Ou alors il faut laisser les fichiers en question en dehors de l'exécutable, s'il n'y a pas d'autre solution. (Mais je doute qu'il n'y ait pas d'autre solution. Ça fait longtemps que je ne touche plus à Jasper Reports mais c'est typiquement le genre de choses pour lequel il proposerait des solutions plus souples.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre expérimenté Avatar de Cincinnatus
    Homme Profil pro
    Développeur d'applications métier
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur d'applications métier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 1 679
    Points
    1 679
    Par défaut
    Citation Envoyé par riyad25h Voir le message
    SUBREPORT_DIR c'est le nom d'un variable qui doit contenir le chemin d'accé a un fichier (tabProduit.jesper) , et comme je travaille avec ireport l'affictation d'une valeur a son variable se fait avec un methode java (put(var, valeur)).
    Pourquoi ne pas placer les .jasper à l'extérieur de l'application ? Il suffirait de placer le bon chemin vers ces fichiers dans le SUBREPORT_DIR via un fichier de paramétrage (properties).

Discussions similaires

  1. Parser une url dans un string au format texte
    Par andromeda dans le forum C#
    Réponses: 2
    Dernier message: 02/02/2009, 04h16
  2. [Oracle] traitement des dates au format string
    Par shaftJackson dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/01/2007, 18h25
  3. Passage de variables dans URL au format date
    Par claralavraie dans le forum ASP
    Réponses: 6
    Dernier message: 18/12/2006, 21h23
  4. Appel de constantes en format String
    Par Shiftane dans le forum Langage
    Réponses: 2
    Dernier message: 20/07/2006, 14h50
  5. Réponses: 11
    Dernier message: 08/10/2004, 15h12

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