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

Développement Web en Java Discussion :

Lire dans un fichier zip en ligne


Sujet :

Développement Web en Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 35
    Par défaut Lire dans un fichier zip en ligne
    Bonsoir,

    est il possible de lire le contenu d'un fichier zip en ligne à une adresse comme http://toto/fichier.zip (sans téléchargement du .zip sur le serveur)

    avec java.util.zip.ZipFile par exemple?

    Avez vous un exemple d'utilisation ?

    Merci

  2. #2
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 868
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 868
    Par défaut
    Bonjour

    Avec la classe File tu ne pourras pas, me semble-t-il, lire un fichier en ligne.

    Il faudra utiliser la classe URL et la méthode openStream pour parser toi-même le fichier. Il me semble en plus qu'un fichier zip ne contient le catalogue des fichiers qu'en fin de fichier, alors il faudra en plus te renseigner sur le format du fichier zip pour savoir où commencer à récupérer le contenu "utile" pour ton besoin.

    Je ne sais pas si ça a déjà été fait par ailleurs.

    A+

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 35
    Par défaut
    ok merci je vais chercher ça

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 35
    Par défaut
    j'ai trouvé comment lire le contenu d'un zip mais le programme s’arrête avant la fin.

    Est il possible de lire le contenu des fichiers pdf qui sont dans ce zip sans extraire l'archive ? Le but étant de récupérer des informations de ces fichiers avec google app engine je ne peux donc pas écrire ni créer de fichiers.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Exception in thread "main" java.lang.IllegalArgumentException: MALFORMED
    	at java.util.zip.ZipCoder.toString(ZipCoder.java:58)
    	at java.util.zip.ZipInputStream.readLOC(ZipInputStream.java:297)
    	at java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:121)
    	at javaapplication3.JavaApplication3.main(JavaApplication3.java:35)
    Java Result: 1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    InputStream input = new URL("lienUrl/fichier.zip").openStream();
     
    ZipInputStream zis = new ZipInputStream(input);
            ZipEntry entry;
            while ((entry = zis.getNextEntry()) != null)
            {
                System.out.println("entry: " + entry.getName() + ", " + entry.getSize());
                        // consume all the data from this entry
                while (zis.available() > 0)
                    zis.read();
     
                        // zis.closeEntry()
            }

  5. #5
    Invité
    Invité(e)
    Par défaut
    Peut etre qu'il vaudrait mieux mettre le null en premier (null !=...). Pis l'affectation de la valeur au sein de la condition, cela pose aussi peut-être aussi problème (c'est sur ce point que je mise). N y a t il pas un iterator à récupérer ou une methode du genre ".hasNext()" que tu pourrais utiliser de la manière : while(zis.hasNext()) ? (Peut être le .available ?)

    Bref, je ne suis pas un expert mais peut être que cela t'aidera.

    Ps: tu fais une affectation de variable dans le while mais est ce que la variable entry est utilisée pour faire la vérification booleenne ?
    Dernière modification par Invité ; 31/03/2013 à 23h53.

Discussions similaires

  1. Lire dans un fichier ligne par ligne avec fscanf
    Par fuyo2004 dans le forum Débuter
    Réponses: 4
    Dernier message: 17/02/2012, 20h20
  2. Boucle infinie qui va lire dans un fichier et afficher les dernières lignes
    Par ApocKalipsS dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/05/2010, 18h27
  3. Choisir la ligne a lire dans un fichier texte
    Par Lucas42 dans le forum C
    Réponses: 2
    Dernier message: 06/11/2007, 01h50
  4. lire dans un fichier les 100 dernières lignes
    Par amarcil dans le forum Langage
    Réponses: 2
    Dernier message: 25/02/2007, 19h32
  5. Réponses: 18
    Dernier message: 09/08/2005, 12h57

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