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

Servlets/JSP Java Discussion :

[debutant][servlet] Lire un fichier


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 23
    Points : 18
    Points
    18
    Par défaut [debutant][servlet] Lire un fichier
    Bonjour

    Je suis actuelement en train de coder une servlet afin de gerer un serveur pour un jeu en reseau.
    Je debute au niveau des servlet, et mon probleme actuel est de lire un fichier. En general, je fais ça avec la classe BufferedReader, et j'ai essayé de le faire de la meme façon dont je le fait avec mon applet:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stream= new BufferedReader ( new InputStreamReader((new URL(getCodeBase(), fileName )).openStream())); // code applet
    Vu que je n'y connais pas grand chose en servlet (au depart, le serveur etait une application "normal" ), j'ai chercher comment faire et finalement j'en suis ariver a bidouiller. Le code que j'ai pondu est celui-ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stream = new BufferedReader ( new InputStreamReader( ( new URL(getServletContext().getResource(fileName ),fileName ) ).openStream())); // code servlet
    Et là, impossible pour moi de savoir si ça marche car je ne sais pas où je doit mettre le fichier en question... J'utilise eclipse, et j'ai essayé de le mettre dans le repertoir du projet. Mais il me met un message d'ereur lors qu'il arive a l'ouverture du fichier.

    Mais j'utilise l'URL pour ouvrir le fichier, ce qui n'est peut etre pas la peine vu que le servlet sera executé sur le meme PC que celui ou ce trouve le fichier.

    Merci de m'aider, car c'est surement un truc simple, mais qui vient de me faire perdre 2 jours de travail...

  2. #2
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    regardes ce thread http://www.developpez.net/forums/viewtopic.php?t=322033

    Sinon, ton fichier doit être mis dans le classpath de ta webapp, par exemple dans WEB-INF/classes

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 23
    Points : 18
    Points
    18
    Par défaut
    Merci, je vais voir ça

  4. #4
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 23
    Points : 18
    Points
    18
    Par défaut
    Apres avoir lu le topic, j'ai cru comprendre que vous lisier le fichier de configuration.
    Pour ce faire, vous utilisez des fonctions predefini pour ce fichier (getServletContext() ,getAttribute("nomParamettre") ).

    Malheureusement, cela ne semble pas correspondre a mon probleme, car ce que j'aimerai faire est de recuperer un buffer de lecture sur un fichier (dans le dossier WEB-INF/classes/data ), afin de lire le fichier ligne par ligne (via la fonction readLine() ).

    Lorsque j'execute le code que j'ai mit precedement, j'ai un java.lang.NullPointerException. Donc cela n'a pas l'air de venir de l'emplacement du fichier, mais bien du code pour creer le buffer de lecture.

    Ca m'embete vraiment, car la dead-line aproche à grand pas...
    Au pire, je devrai mettre les donnés des fichier en dur dans le code Beark...

  5. #5
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    Pour pouvoir ouvrir le fichier, il faut bien le mettre dans WEB-INF/classes.
    Pour l'erreur que tu as, donnes nous la stacktrace !!!

  6. #6
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 23
    Points : 18
    Points
    18
    Par défaut
    Finalement, je fait avec
    BufferedReader stream = new BufferedReader(new FileReader(levelName));
    (c'est plus simple qu'en applet en fait )

    Par contre, petit probleme : apres avoir mit le fichier (dumoins le repertoir contenant le fichier) en questiond dans WEB-INF/classes, puis meme apres l'avoir mit un peu partout dans le repertoir de mon projet, il me met toujours la meme exception :
    Error in : java.io.FileNotFoundException: data\plaine.marto (Le chemin d'accès spécifié est introuvable)

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 23
    Points : 18
    Points
    18
    Par défaut
    Avec ceci ça marche

    InputStream inputStream=this.getClass().getClassLoader().getResourceAsStream(fileName);
    stream=new BufferedReader(new InputStreamReader(inputStream));

    En esperant que ce la serve a quelqu'un plus tard

  8. #8
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    Ruffi a raison mais mets directement ton fichier dans WEB-INF/classes et donne le nom du fichier sans chemin (c'est plus simple pour le moment)

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

Discussions similaires

  1. [Debutant] Servlet qui permet d'afficher un fichier
    Par ganga dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 30/05/2006, 16h33
  2. [Servlet] Lire dynamiquement un fichier de propriétés
    Par n@n¤u dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 04/05/2006, 15h52
  3. [debutant] Lire un fichier .wav
    Par r0d dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/02/2006, 09h42
  4. [Servlet][EJB]lire un fichier à partir de mon bean
    Par kimausoleil dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 13/02/2004, 14h26
  5. [Debutant] Comment lire la taille d'un fichier binaire ?
    Par Invité dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 18/12/2003, 19h20

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