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

avec Java Discussion :

lire un objet externe


Sujet :

avec Java

  1. #1
    Membre confirmé

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Points : 597
    Points
    597
    Par défaut lire un objet externe
    Bonjour,

    Mon objectif est de charger un objet sauvegarder en externe de mon application. Le problème est que mon "loader" me renvoie toujours un "filenofoundexeption".

    Voici le code du loader

    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
            Object obj = null;
            try
            {
    URL url = new URL("http://www.newbiecontest.org/epreuves/javascript/plouf");
                HttpURLConnection httpurlconnection = (HttpURLConnection)url.openConnection();
                ObjectInputStream objectinputstream = new ObjectInputStream(httpurlconnection.getInputStream());
                obj = objectinputstream.readObject();
                objectinputstream.close();
                httpurlconnection.disconnect();
            }
            catch(Exception exception)
            {
                exception.printStackTrace();
            }
            return obj;
        }
    Si j'essaye d'accéder depuis mon navigateur à cette adresse, je peux charger le fichier. J'ai regarder il n'y à pas de problème d'authentification et j'ai tenter d'utiliser une adresse URL encodé pas plus de résultats.

    D'où peut venir cette erreur ?

    Merci de votre aide

  2. #2
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    bonjour,


    Citation Envoyé par mormengil Voir le message
    Mon objectif est de charger un objet sauvegarder en externe de mon application. Le problème est que mon "loader" me renvoie toujours un "filenofoundexeption".
    tu parles d'un Objet .... doit on comprendre un objet java ?

    L'exception que tu as ne serait pas une java.lang.ClassNotFoundException plutot q'une FileNotFoundException.

    J'ai vérifié le fichier plouf n'est pas une classe java !
    Il se trouve que la classe ObjectInputStream sert a deserialiser les objets java stockés sous la forme d'un fichier. Je pense que ce n'est pas se que tu souhaites faire.

    Que veux tu faire exactement ?

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    j'ai essayé ton code, il donne ça comme exception
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    java.lang.ClassNotFoundException: Plouf
            at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    rien à voir avec un filenotfound. En l'occurence, ça dit que la classe Plouf n'a pas été trouvée. Il manque la classe Plouf dans ton code.

  4. #4
    Membre confirmé

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Points : 597
    Points
    597
    Par défaut
    Il s'agit d'une épreuve javascript, ou je récupère un fichier jar, je dois ensuite récupérer les classes.

    Mon problème est qu'il va lire cet objet sur l'url. J'ai eu une petite erreur dans mon poste précèdent il s'agit effectivement d'une classNotFoundExeption :

    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
    30
    <a href="http://www.newbiecontest.org/epreuves/javascript/plouf" target="_blank">http://www.newbiecontest.org/epreuves/javascript/plouf</a>
    sun.net.<a href="http://www.protocol.http.HttpURLConnection:http://www.newbiecontest.org/epreuves/javascript/plouf" target="_blank">http://www.protocol.http.HttpURLConn...vascript/plouf</a>
    java.lang.ClassNotFoundException: Plouf
    	at java.net.URLClassLoader$1.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Unknown Source)
    	at java.io.ObjectInputStream.resolveClass(Unknown Source)
    	at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
    	at java.io.ObjectInputStream.readClassDesc(Unknown Source)
    	at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
    	at java.io.ObjectInputStream.readObject0(Unknown Source)
    	at java.io.ObjectInputStream.readObject(Unknown Source)
    	at newbiescontest.Yajc2.loadPlouf(Yajc2.java:114)
    	at newbiescontest.Yajc2.actionPerformed(Yajc2.java:56)
    	at java.awt.Button.processActionEvent(Unknown Source)
    	at java.awt.Button.processEvent(Unknown Source)
    	at java.awt.Component.dispatchEventImpl(Unknown Source)
    	at java.awt.Component.dispatchEvent(Unknown Source)
    	at java.awt.EventQueue.dispatchEvent(Unknown Source)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    	at java.awt.EventDispatchThread.run(Unknown Source)

    J'ai joint les classes entières, mais le passage qui me pose problème est la lecture du fichier, après quelques tests je peux déterminer que j'arrive à charger le fichier, mais lorsque je fais le cast il me retourne cette exception :

    Code du cast :

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    package newbiescontest;
     
    import java.applet.Applet;
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.ObjectInputStream;
    import java.net.HttpURLConnection;
    import java.net.URL;
     
    public class Yajc2 extends Applet
        implements ActionListener
    {
     
        private Button SubmitButton;
        private TextField PasswordField;
        private Label PasswordLabel;
        private Label resultLabel;
        private Object plouf;
        private PloufCipher ploufCipher;
     
        public void stop()
        {
        }
     
        public Yajc2()
        {
            SubmitButton = null;
            PasswordField = null;
            PasswordLabel = null;
            resultLabel = null;
            plouf = null;
            ploufCipher = null;
            SubmitButton = new Button();
            PasswordField = new TextField();
            PasswordLabel = new Label();
            resultLabel = new Label();
        }
     
        public void actionPerformed(ActionEvent actionevent)
        {
            String s = PasswordField.getText();
            String s1 = getCodeBase().toString();
            s1 = (new StringBuilder()).append(s1).append("plouf").toString();
            try
            {	
                URL url = new URL("http://www.newbiecontest.org/epreuves/javascript/plouf");
                plouf = loadPlouf(url);
                Plouf test = (Plouf) plouf;
                ploufCipher = new PloufCipher(test);
     
     
     public Object loadPlouf(URL url)
        {
            Object obj = null;
            try
            {
                HttpURLConnection httpurlconnection = (HttpURLConnection)url.openConnection();
                ObjectInputStream objectinputstream = new ObjectInputStream(httpurlconnection.getInputStream());
                obj = objectinputstream.readObject();
                objectinputstream.close();
                httpurlconnection.disconnect();
            }
            catch(Exception exception)
            {
                exception.printStackTrace();
            }
            return obj;
        }
    Pourquoi n'arrive t-il pas à convertir mon objet en plouf ? Il connait pourtant la classe vu qu'il me permet d'instancier des objets Plouf.

    Merci de votre aide
    Fichiers attachés Fichiers attachés

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Plouf.java correspond à la classe "newbietest.Plouf", pas à la classe "Plouf", le nom de package n'est pas le même.

  6. #6
    Membre confirmé

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Points : 597
    Points
    597
    Par défaut
    Merci de ton aide, je vais enfin pouvoir avancer.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lire fichiers mp3 externe a l'animation
    Par bastnt dans le forum Intégration
    Réponses: 3
    Dernier message: 25/08/2007, 16h41
  2. [FLASH 8] Lire fichier .wav externe
    Par Tyolan dans le forum Flash
    Réponses: 6
    Dernier message: 22/08/2006, 23h55
  3. Réponses: 3
    Dernier message: 07/07/2006, 18h00
  4. Gérer un objet externe depuis un état
    Par yoyo30 dans le forum Access
    Réponses: 5
    Dernier message: 08/09/2005, 10h04
  5. [SAX] Lire des objets
    Par sylvain_2020 dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 01/12/2004, 16h10

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