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

Entrée/Sortie Java Discussion :

Générer un fichier texte


Sujet :

Entrée/Sortie Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Points : 61
    Points
    61
    Par défaut Générer un fichier texte
    bonjour,

    j'ai écrit une page jsp qui contient des java bean qui font un certain nombre de calculs.

    Je voudrais que lorsque l'internaute appuie sur un bouton un fichier texte soit creer avec un certain nombre éléments.
    seulement je ne sais pas comment creer ce fichier texte.

    Est ce que quelqu'un pourrait m'aider?
    merci


    [Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Points : 61
    Points
    61
    Par défaut
    je suis vraiment dans l'impasse ce serait super d'avoir un élément pour m'aider merci

  3. #3
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Salut, l'utilisateur devra pouvoir le télécharger ce fichier ?
    Sinon pourquoi un fichier texte ?

    Bref la solution semble être une servlet. Mais il nous faut plus d'infos
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  4. #4
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2005
    Messages : 391
    Points : 301
    Points
    301

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Points : 61
    Points
    61
    Par défaut
    bonjour,

    non le fichier.txt servira comme fichier d'échange avec un autre logiciel. comme les deux soft ne sont pas écrit dans le même langage (de même ils communiquent l'un avec une base Mysql et l'autre avec une base access), le fichier texte me servira donc de passerelle.

  6. #6
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Alors tu peux créer le fichier dans n'importe lequel de tes bean qui un une référence sur le contextPath, c'est à dire ou tu peux recupere request.getContextPath(). Tu pourrais dès lors créer un fichier dans la racine ou un sous répertoire de ta webapp. Pour créer un fichier va voir les tutos.
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Points : 61
    Points
    61
    Par défaut
    ok, alors j'ai écrit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
    <%@ page import="java.io.File" %>
     
    <%
    File toto = File.createTempFile("essai",".txt");
    %>
    seulement lorsque je regarde dans le dossier temp le fichier n'est pas creer. je fais une recherche sur tout mes disques pour essai.txt mais il n'y a aucun résultat.???

  8. #8
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Déja un petit try catch pour voir si il y a des exceptions, ensuite la création d'un fichier temporaire suppose que tu as un repertoire temporaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <%
    String fileName=pageContext.getServletContext().getRealPath("toto.txt");
    File toto=new File(fileName);
    if(toto.createNewFile()){
    out.println("file created succesfully");
    }
     
    %>
    P.S:evite de faire ce genre de chose dans les jsp ce n'est pas l'endroit aproprié
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Points : 61
    Points
    61
    Par défaut
    super merci moi j'ai écrit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    File fichier = new File("C:\\Documents and Settings\\sd\\Mes documents\\Sanel\\BAZAR\\uploadJAVA\\essai.txt");
    fichier.createNewFile();
    en fait je me sert d'une page jsp pour seulement voir si mon code me retourne des erreurs ou non

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Points : 61
    Points
    61
    Par défaut
    hello,

    j'ai donc réussi à creer et à écrire dans mon fichier texte:
    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
     
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
    <%@ page import="java.io.File" %>
    <%@ page import="java.io.FileWriter" %> 
    <%
    String fileName = "C:\\Documents and Settings\\sd\\Mes documents\\Sanel\\BAZAR\\uploadJAVA\\essai.txt";
    File fichier = new File(fileName);
    fichier.createNewFile();
     
    FileWriter fw = new FileWriter(fileName);
    fw.write("ça marche!");
    fw.write('\n');
    fw.write("c'est pas trop tot!");
    fw.close();
    %>
    et j'obtients la ligne suivante dans mon fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ça marche!□c'est pas trop tot!
    comment ça ce fait que mon saut de ligne ne se fait pas?

  11. #11
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Parce que sous window c'est \r\n.
    Peux tu mettre le tag résolu stp
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Points : 61
    Points
    61
    Par défaut
    ok merci pour ton aide

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Points : 61
    Points
    61
    Par défaut
    Une autre petite question:

    j'essai de creer ce fichier texte sur un poste distant, j'écris donc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
    <%@ page import="java.io.File" %>
    <%@ page import="java.io.FileWriter" %> 
    <%
    String fileName = "\\\\Floride\\GT\\Opérateur.txt";
    File fichier = new File(fileName);
    fichier.createNewFile();
     
    FileWriter fw = new FileWriter(fileName);
    fw.write("ça marche!");
    fw.write("\n");
    fw.write("c'est pas trop tot!");
    fw.close();

    est le nom du PC distant

    j'obtiens le message suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    java.io.IOException: Accès refusé
    	java.io.WinNTFileSystem.createFileExclusively(Native Method)
    	java.io.File.createNewFile(File.java:828)
    	org.apache.jsp.upload_005ftest_jsp._jspService(upload_005ftest_jsp.java:62)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:298)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    je suppose que je ne dois pas avoir les droits pour l'écriture. Je ne comprends pas parceque le dossier GT est un dossier partagé qui posséde les droits en lecture et écriture.

    Quelqu'un a une idée pour forcer l'ecriture du fichier txt sur un PC distant?

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Points : 61
    Points
    61
    Par défaut
    j'ai essayé autrement:
    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
     
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
    <%@ page import="java.io.File" %>
    <%@ page import="java.io.FileWriter" %>
    <%@ page import="java.io.BufferedWriter" %>
    <%
    String fileName = "\\\\Floride\\GT\\Opérateur.txt";
    File fichier = new File(fileName);
    fichier.createNewFile();
     
    FileWriter fw = new FileWriter(fileName , true);
    BufferedWriter b = new BufferedWriter(fw); 
    b.write("ça marche!");
    b.write("\n");
    b.write("c'est pas trop tot!");
    b.flush();
    b.close();
    %>
    j'ai le même message d'erreur, apparament ça vient de la méthode
    quelqu'un a une idée? :

  15. #15
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Tu essayes d'ecrire un fichier sur une autre machine avec la machine virtuelle de tomcat. La machine virtuelle java est déja limitée par défaut mais celle de tomcat l'est encore davantage. Normalement il n'a le droit d'ecrire que dans ses propres répertoires + les temporaires.

    Je te déconseille vivement de le permettre pour des raisons evidentes de sécurité. Cependant si tu veux quand même le faire il faut changer la configuration du security manager. Pour plus d'infos voit la doc de tomcat chapitre security manager, c'est très bien expliqué.
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Points : 61
    Points
    61
    Par défaut
    ok merci

  17. #17
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Juste une petite remarque : Il faut toujours effectué les écritures dans les flux dans un bloc try/finally :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    FileWriter fw = new FileWriter(fileName , true);
    BufferedWriter b = new BufferedWriter(fw);
    try {
         b.write("ça marche!");
         b.write("\n");
         b.write("c'est pas trop tot!");
         b.flush();
    } finally {
         b.close(); 
    }

    Cela permet d'éviter de se retrouver avec plein de fichier ouvert et de faire planter le serveur car la limite du système est atteinte...

    a++

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/01/2007, 15h21
  2. [VB.NET]générer un fichier texte
    Par zouhib dans le forum Windows Forms
    Réponses: 5
    Dernier message: 23/05/2006, 16h22
  3. Générer un fichier texte et le transmettre
    Par LiNuXaDDiKt dans le forum Langage
    Réponses: 3
    Dernier message: 03/05/2006, 10h20
  4. [XSLT] Générer un fichier texte
    Par tscoops dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 02/01/2006, 23h46
  5. Comment générer un fichier texte à partir d'un XML et XSL
    Par Jayceblaster dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 24/07/2005, 22h42

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