+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Discussion: OSGi et les fichiers

  1. #1
    Membre Expert
    Inscrit en
    mars 2006
    Messages
    841
    Détails du profil
    Informations personnelles :
    Âge : 30

    Informations forums :
    Inscription : mars 2006
    Messages : 841
    Points : 1 041
    Points
    1 041

    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
    Invité régulier
    Inscrit en
    novembre 2009
    Messages
    5
    Détails du profil
    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 :
    this.getClass().getRessource("/path")
    ou

    Code :
    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 Expert
    Inscrit en
    mars 2006
    Messages
    841
    Détails du profil
    Informations personnelles :
    Âge : 30

    Informations forums :
    Inscription : mars 2006
    Messages : 841
    Points : 1 041
    Points
    1 041

    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •