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

OGSi Java Discussion :

OSGi et les fichiers


Sujet :

OGSi Java

  1. #1
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut OSGi et les fichiers
    Bonjour,

    Je suis en train de mettre en place un projet basé sur OSGi pour lequel j'essaie de faire les choses "bien comme il faut".

    C'est là que se pose le problème de la manipulation des fichiers.
    Je vais avoir besoin d'écrire et de lire des fichiers de l'application, mais je me demande quelle est la bonne pratique.

    Le Bundle contient une méthode getDataFile : dois-je uniquement passer par elle? Est-ce que je dois la réserver à certains cas? lesquels?
    Quid des ouvertures "classiques" : new File(...), Class.getResource(...) ?

    Je n'ai pas trouvé de précision sur les différents tuto OSGi que j'ai pu lire...

    Merci.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Bonsoir,

    L'accès aux ressources d'un bundle OSGi se fait en utilisant l'instruction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.getClass().getRessource("/path")
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.getClass().getRessourceAsStream("/path")
    De cette manière, on récupère tous les fichiers contenus dans le JAR du bundle appelant l'instruction.

    François

  3. #3
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut
    Merci pour cette réponse.
    Cependant, cela ne résoud que le problème de la lecture des fichiers embarqués dans les JARs.

    Je vais préciser un peu mon problème.

    Je peux avoir à lire deux types de fichiers:
    • Les fichiers embarqués dans les JARs (à priori via Class.getResourceAsStream)
    • Les fichiers externes, communs à toute l'application


    Je peux avoir à écrire deux types de fichiers :
    • Des fichiers spécifiques au bundle (à priori via BundleContext.getDataFile)
    • Des fichiers externes, communs à toute l'application


    Mon application pourrait avoir une arborescence ressemblant à ça:
    MonAppli
    +- bundles
    +- img
    +- conf
    +- out

    Ainsi un exemple de fichiers externes à accéder en lecture serait les images de l'application et pour les fichiers à écrire, il y a des fichiers générés (dans out).
    A noter que conf peut contenir des fichiers de configuration à accéder en lecture ET en écriture.

Discussions similaires

  1. [TP]comment creer une disquette bootable (les fichiers)
    Par ludovic5532 dans le forum Turbo Pascal
    Réponses: 5
    Dernier message: 25/10/2003, 19h46
  2. Réponses: 4
    Dernier message: 16/08/2003, 14h21
  3. Problème avec les fichiers .JPG
    Par cprogil dans le forum Langage
    Réponses: 5
    Dernier message: 10/06/2003, 16h44
  4. [TP]Lister les fichiers d'un répertoire
    Par nvtitan dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 21/06/2002, 12h22
  5. Les fichiers d'un projet
    Par Manolo dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/05/2002, 18h51

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