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 :

Sérialisation et arborescence Java


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 9
    Points : 11
    Points
    11
    Par défaut Sérialisation et arborescence Java
    Bonjour,

    Petite question toute bête. Je dois faire un petit programme (un annuaire) permettant d'ajouter / modifier / supprimer des contacts.

    Quand on quitte le programme, les contacts doivent être automatiquement sauvegardé, et quand on lance le programme les contacts doivent être réintégré automatiquement.

    J'ai opté pour la serialization, mais j'aimerais éviter d'avoir un fichier qui "traîne" à côté. Cependant je n'arrive pas à placer ce fichier dans les répertoires internes à mon programme...

    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
    28
    29
    public class ActionQuit extends AbstractAction {
     
            /**
             * Constructeur
             * @param nomMenu Le nom du bouton
             */
            public ActionQuit(String nomMenu) {
                super(nomMenu);
            }
     
            @Override
            public void actionPerformed(ActionEvent e) {           
                try {
                    ObjectOutputStream flotTraitementOut = null;
                    // permet d'écrire le flot de 11000110101001111000010 dans un fichier
                    //Quel chemin pour écrire mon fichier au bon endroit ?? (on se trouve dans src/controler/Actions.java)
                    FileOutputStream flotCommunicationOut = new FileOutputStream("annuaire");
                    // permet de transformer les objets en un flot de 1001100110010010010
                    flotTraitementOut = new ObjectOutputStream(flotCommunicationOut);
                    flotTraitementOut.writeObject(Actions.this.annuaire);
                    flotTraitementOut.flush();
                    flotTraitementOut.close();
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
     
                System.exit(0);
            }
        }
    Merci d'avance !

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 190
    Points : 153
    Points
    153
    Par défaut
    Dans notre projet, nous avons ce type de code:

    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
    public abstract class ResourcesManager {
     
    	public static final File getResourceAsFile(final String path) {
    		return new File(absolutePath(path));
    	}
     
    	public static final InputStream getResourceAsStream(final String path)
    			throws IOException {
     
    		return new FileInputStream(absolutePath(path));
    	}
     
    	public static final String SEPARATOR = System.getProperty("file.separator");
     
    	public static final String absolutePath(final String path) {
    		final URL url = ResourcesManager.class
    				.getResource("ResourcesManager.class");
    		final File file = new File(url.getPath());
    		return file.getParent() + SEPARATOR + ".." + SEPARATOR + ".."
    				+ SEPARATOR + ".." + SEPARATOR + ".." + SEPARATOR + ".."
    				+ SEPARATOR + ".." + SEPARATOR + ".." + SEPARATOR + "" + path;
    	}
    }
    L'idée est que tu connais l'emplacement du fichier ResourcesManager.class par rapport à l'emplacement du répertoire bin. Ensuite (avec les SEPARATOR + ".." ) tu arrives à la racine de ton projet.

Discussions similaires

  1. Arbre arborescent Java SQL
    Par faicel_fes05 dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 27/02/2012, 15h12
  2. Sérialisation et erreur "java.io.EOFException"
    Par Drey242 dans le forum Général Java
    Réponses: 3
    Dernier message: 03/06/2011, 16h32
  3. Réponses: 2
    Dernier message: 03/03/2010, 10h11
  4. Sérialiser un ArrayList java en XML
    Par absot dans le forum XML/XSL et SOAP
    Réponses: 0
    Dernier message: 22/12/2009, 19h26
  5. sérialisation XML en java Avec des Matrice ArrayList
    Par bilred dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 16/04/2009, 15h55

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