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 :

[Servlet][IO]Ecrire un File à partir d'un InputStream


Sujet :

Servlets/JSP Java

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2003
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [Servlet][IO]Ecrire un File à partir d'un InputStream
    Bonjour,

    Je cherche un moyen pour pouvoir télécharger un fichier xls généré par une servlet (à l'aide de l'API jxl).
    J'emploie le paquetage com.oreilly.servlet et en particulier HttpMessage
    comme suis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InputStream s = message.sendPostMessage(properties);
    Cependant comme je ne suis pas à l'aise avec les IO quelqu'un saurait-il comment passer le contenu de ce flux dans un fichier ?

    Merci
    ...

  2. #2
    Candidat au Club
    Inscrit en
    Novembre 2003
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 4
    Points : 2
    Points
    2
    Par défaut suite
    J'apporte quelques précisions,

    Le fichier produit par la servlet est correctement construit. En effet lorsque j'appelle ma servlet via un navigateur ce dernier me propose une invite pour l'enregistrer. Le fichier est alors lisible par Excel....

    Toutefois si je retente l'opération à partir de mon client :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    InputStream is = message.sendPostMessage(properties);
    FileOutputStream fos = new FileOutputStream (f);
    int n;
    while ((n = is.read()) !=1 ){
    fos.write(n);
    }
    Le fichier obtenu n'est pas lisible via Excel
    La commande File me renvoie comme type de fichier : data

    J'ai essayé avec des Reader, des DataMachin et rien à faire

    Merci pour vos avis
    ...

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 30
    Points : 25
    Points
    25
    Par défaut
    Si cela peut y'aider ?


    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
     
    private String pathFichierSpipHtml;
     
    public void WriteFile (String pathFichierHtml)throws IOException {
     
    		try{
    		this.pathFichierHtml = pathFichierHtml;
    		BufferedWriter fichierHtml = new BufferedWriter (new FileWriter(this.pathFichierHtml));
    		fichierHtml.write(this.textClean);
     
    		fichierHtml.close();
    			}
    		catch (IOException e_WriteFile){
    		this.erreur_WriteFile="Pb dans l'ecriture file xml !";
    			}
     
     
    		}
    a+

  4. #4
    Candidat au Club
    Inscrit en
    Novembre 2003
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour le truc
    Cependant j'avais déjà tenté le coup avec la structure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    BufferedWriter fichierHtml = new BufferedWriter (new FileWriter(this.pathFichierHtml));
    je pense que je vais laisser tomber
    ...

  5. #5
    Candidat au Club
    Inscrit en
    Novembre 2003
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour vos contributions,
    J'ai bien potassé mes IO finalement,
    je livre la solution (triviale) à ceux que cela intéresse,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //Récupérer flux de la servlet
    InputStream = message.sendPostMessage(properties);
    // flux Data pour ne pas pondre du "binaire"
    DataInputStream dis = new DataInputStream (new BufferedInputStream(in));
    DataOutputStream dos = new ....
    //Ecriture dans le fichier
    @+
    ...

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 27/03/2007, 15h32
  2. Ecrire un Xml à partir d'un dataset
    Par Julien1987 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 06/02/2007, 16h14
  3. Réponses: 54
    Dernier message: 16/03/2006, 11h42
  4. [SERVLET]Appel d'un fichier à partir d'une servlet
    Par fchafia dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 17/03/2005, 12h21
  5. [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

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