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 :

Lire des fichiers à envoyer par une servlet


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 65
    Points : 37
    Points
    37
    Par défaut Lire des fichiers à envoyer par une servlet
    Bonjour,

    J'ai environs 6-7 fichiers textes relativement gros (de 100 à 10000 lignes).
    J'aimerais qu'une servlet les lisent, les regroupes en un et envoit le texte sur le réseau.

    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
    String fichier = "Monfichier.svg";
    String chaine="";
    String ligne="";
     
    InputStream ips=new FileInputStream(fichier);
    InputStreamReader ipsr=new InputStreamReader(ips);
    BufferedReader br=new BufferedReader(ipsr);
     
    while ((ligne=br.readLine())!=null){
                 chaine+=ligne;
          }
     
    br.close();
    writeOut(chaine); //la servlet écrit sur le flux


    Je fais ca pour tous les fichiers et ca met quand même pas mal de temps (8-10 sec)

    Il faudrait que j'optimise ca au mieux. Existe il une méthode en java pour lire très rapidement un fichier qui devra être directement envoyé par une servlet à coup de "out.println"? Ou un autre moyen bcp plus rapide de lire des fichiers?

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Points : 675
    Points
    675
    Par défaut
    Tu peux commencer par utiliser la classe StringBuilder, au lieu String pour la variable chaine.

    Si tu ne fais qu'envoyer le fichier, sans transformation ni controle, tu n'es obligé d'utiliser un InputStreamReader, qui transforme les bytes en char. Autant utiliser directement un BufferedInputStream (et BufferOuputStream).

    Regarde aussi du coté de java.nio.channels.FileChannel.

Discussions similaires

  1. Réponses: 0
    Dernier message: 31/10/2013, 15h45
  2. Réponses: 4
    Dernier message: 23/02/2011, 11h11
  3. Télécharger un fichier généré par une servlet Java
    Par El Saigneur dans le forum Flex
    Réponses: 7
    Dernier message: 31/07/2009, 09h27
  4. Réponses: 5
    Dernier message: 09/07/2008, 11h26
  5. [Tomcat]Droit d'accès aux fichiers créés par une servlet
    Par loulouleboss dans le forum Tomcat et TomEE
    Réponses: 7
    Dernier message: 15/07/2004, 14h32

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