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 :

[ZIP] Détecter un repertoire


Sujet :

Entrée/Sortie Java

  1. #1
    Membre émérite

    Homme Profil pro
    Senior Développeur JEE
    Inscrit en
    Avril 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Développeur JEE
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 795
    Par défaut [ZIP] Détecter un repertoire
    Bonjour à tous,

    Je dézippe un fichier zip pour ensuite le rezipper dans un autre fichier. Je fais cela parce que je dois ajouter 2 nouveaux fichiers au zip.
    Le problème est que ce fichier zip contient un répertoire, donc j'ai quelques soucis.
    Existe-t-il un moyen de détecter si un ZipEntry est un répertoire?

    J'ai absolument besoin de détecter et recréer ce répertoire car ensuite je dois y ajouter les 2 fichiers dans ce répertoire.

    Voici le code que j'utilise pour dézipper un fichier pour le rezipper dans un autre.

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
          cat.info("FilePath: " + filepath);
              int bufferSize = 2048;
              byte data[] = new byte[bufferSize];
     
     
              ZipInputStream zis = new ZipInputStream (new FileInputStream(filepath));
              file = new File(filename);
              String newFilePath = file.getAbsolutePath().toString();
              ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(file));
              ZipEntry getEntry;
              String directory;
     
     
                while ((getEntry = zis.getNextEntry()) != null)
                {
                    File fileEntry = new File(getEntry.getName());
                    if(!fileEntry.isDirectory())
                    {
     
                    // création d'un flux de lecture
    	            FileInputStream fi = new FileInputStream(getEntry.getName());
     
    	            // création d'un tampon de lecture sur ce flux
    	            BufferedInputStream buffi = new BufferedInputStream(fi, bufferSize);
                    ZipEntry setEntry = new ZipEntry(getEntry.getName());
                    zos.putNextEntry(setEntry);
     
                    int count;
    	            while((count = buffi.read(data, 0, bufferSize)) != -1) 
                               {
    	               out.write(data, 0, count);
    				}
     
                    cat.info("entry.getName() : "+getEntry.getName());
                    zos.closeEntry();
                    zis.closeEntry();
                    }
                    else
                        {
                            directory = fileEntry.getName();
                            cat.info("This is a directory : "+directory);
                        }
     
                }
                zis.close();
                zos.close();
    D'avance merci pour vos réponses

  2. #2
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Par défaut
    Dans la zipEntry il y a une methode isDirectory() cela devrait faire ton affaire non ??

    Bulbo
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

  3. #3
    Membre émérite

    Homme Profil pro
    Senior Développeur JEE
    Inscrit en
    Avril 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Développeur JEE
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 795
    Par défaut
    que je suis.

    Encore désolé pour le dérangement

  4. #4
    Membre émérite

    Homme Profil pro
    Senior Développeur JEE
    Inscrit en
    Avril 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Développeur JEE
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 795
    Par défaut
    Ok cela fonctionne mais maintenant j'ai un autre soucis.

    Voici l'exception que j'ai.

    java.io.FileNotFoundException: CA\CA_A1.wmf (The system cannot find the path specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:106)
    at java.io.FileInputStream.<init>(FileInputStream.java:66)
    at presentation.download2Servlet.doGet(download2Servlet.java:270)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:765)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:317)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:208)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:125)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    at java.lang.Thread.run(Thread.java:534)
    Je me rends compte que je vais devoir utiliser la récursivité pour lister les fichiers dans ce répertoire. Donc ça pas de problème.

    Mon problème est de savoir comment rajouter un repertoire dans le zip. Donc comment lui dire : Moi je veux que tu considères, ce que je te demande de zipper, comme un répertoire.

    Promis après je ne vous ennuie plus.


  5. #5
    Membre chevronné

    Inscrit en
    Juillet 2002
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 116
    Par défaut
    En faite lorsqu'on souhaite que notre ZipEntry soit un répertoire, il faut rajouter un "/" à la fin de son nom que l'on définit dans le constructeur ...

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    // crée un entry en tant que fichier 
    ZipEntry entry1 = new ZipEntry("fichier");
    // crée un entry en tant que repertoire
    ZipEntry entry2 = new ZipEntry("repertoire/");

  6. #6
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Par défaut
    Voici un code basic (a ne pas reproduire à l'identique la gestion des exceptions n'est pas faite et j'en passe..)
    Cela execute la copie d'un zip dans un autre sans dezipper les fichiers sur le disque..

    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
    19
    20
    21
    22
    23
    24
    25
    26
     
          ZipFile in = new ZipFile("input.zip");
          ZipOutputStream out = new ZipOutputStream(new FileOutputStream("test.zip"));
     
          ZipEntry entry = null;
          ZipEntry newEntry = null;
          byte buf[] = null;
          InputStream is = null;
     
          Enumeration enum = in.entries();
          while(enum.hasMoreElements())
          {
            entry = (ZipEntry) enum.nextElement();
            newEntry = new ZipEntry(entry.getName());
            is = in.getInputStream(entry);
     
            buf = new byte[is.available()];
            is.read(buf);
            is.close();
     
            out.putNextEntry(newEntry);
            out.write(buf);
            out.closeEntry();
          }
          out.close();
          in.close();
    Je pense que si tu veux ajouter tes fichiers dans une repertoire existant il suffit de faire par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ZipEntry entry = new ZipEntry("CA/monFichier.txt");
    out.putNextEntry(entry);
    ...
    Sinon pour ajouter un repertoire vide il faut utliser la methode de Debernad, mais le rep est automatiquement creer si tu ajoutes directement un fichier se situant dans un nouveau rep..

    Bulbo
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

  7. #7
    Membre émérite

    Homme Profil pro
    Senior Développeur JEE
    Inscrit en
    Avril 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Développeur JEE
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 795
    Par défaut
    J'ai toujours un problème.

    Voici le code de la servlet

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
     else if (downType.equals("formP"))
                {
                    cat.info("	documentManagement.downloadFormsPack(" + instrumentId + ") -> String[]");
                    String[] downFormPack = (String[]) documentManagement.downloadFormsPack(instrumentId);
                    filename = downFormPack[1];
                    filepath = downFormPack[0];
                    activityFilePath = downFormPack[2];
                    activityFileName = downFormPack[3];
                    keywordsFilePath = downFormPack[4];
                    keywordsFileName = downFormPack[5];
                    cat.info("InstrumentId: " + instrumentId + " filename: " + filename);
                    cat.info("Downloading Form Package: " + filename);
                    //downFile = (byte[])downFormPack.elementAt(0);
                }
                else
                    return;
     
            } catch (DocumentManagementException dme)
            {
                cat.error("JSP: DocumentManagementException Details: ", dme);
                return;
            } catch (NamingException ne)
            {
                cat.error("JSP: NamingException Details: ", ne);
                return;
            } catch (CreateException ce)
            {
                cat.error("JSP: CreateException Details: ", ce);
                return;
            } catch (RemoteException re)
            {
                cat.error("JSP: RemoteException Details: ", re);
                return;
            }
     
            response.setContentType("application/download");
            response.setHeader("Content-Disposition", "attachment;filename=\"" + filename + "\"");
     
     
            ServletOutputStream out = response.getOutputStream();
            File file = null;
            BufferedInputStream from = null;
            try
            {
                cat.info("FilePath: " + filepath);
                int bufferSize = 2048;
                byte data[] = new byte[bufferSize];
                String directory = "";
                file = new File(filepath);
                String path = file.getParent()+"\\"+filename;
                file = File.createTempFile(filename,"");
                cat.info("Path for the zip File : "+path);
     
    //LE PROBLEME SE SITUE ICI
                ZipFile in = new ZipFile(filepath);
     
                ZipOutputStream zout = new ZipOutputStream(new FileOutputStream(file));
     
                ZipEntry entry = null;
                ZipEntry newEntry = null;
                byte buf[] = null;
                InputStream is = null;
     
                Enumeration enum = in.entries();
                while (enum.hasMoreElements()) {
                    entry = (ZipEntry) enum.nextElement();
                    newEntry = new ZipEntry(entry.getName());
                    is = in.getInputStream(entry);
                    if (entry.isDirectory()) {
                        directory = entry.getName();
                    }
                    buf = new byte[is.available()];
                    is.read(buf);
                    is.close();
     
                    zout.putNextEntry(newEntry);
                    out.write(buf);
                    zout.closeEntry();
                }
                newEntry = new ZipEntry(directory + "\\" + activityFileName);
                zout.putNextEntry(newEntry);
     
                File f = new File(activityFilePath);
                BufferedInputStream inStream = new BufferedInputStream(new FileInputStream(f));
                int count;
    	        while((count = inStream.read(data, 0, bufferSize)) != -1)
                {
    	               zout.write(data, 0, count);
                }
     
                zout.closeEntry();
     
                newEntry = new ZipEntry(directory + "\\" + keywordsFileName);
                zout.putNextEntry(newEntry);
     
                f = new File(keywordsFilePath);
                inStream = new BufferedInputStream(new FileInputStream(f));
     
    	        while((count = inStream.read(data, 0, bufferSize)) != -1)
                {
    	               zout.write(data, 0, count);
                }
     
                zout.closeEntry();
     
     
                zout.close();
                in.close();
     
     
     
              file = new File(path);
              cat.info("File path to download : "+file);
              response.setContentLength((int) file.length());
     
              long time = System.currentTimeMillis();
              cat.info("Streaming from file :" + file);
              try {
    //VOICI LA NOUVELLE LIGNE QUI ME MONTRE UNE EXCEPTION
                from = new BufferedInputStream(new FileInputStream(file), bufferSize * 2);
                byte[] bufferFile = new byte[bufferSize];
                for (int i = 0; ; i++)
                {
                  int len = from.read(bufferFile);
                  if (len < 0)
                    break;
                  out.write(bufferFile, 0, len);
                }
                out.flush();
              } finally {
                try { from.close(); } catch (Exception e) { }
                try { out.close(); } catch (Exception e)  {} 
              }
              time = (System.currentTimeMillis() - time) / 1000; // seconds download
              double kb = (file.length() * 1.0 / 1024);
              if (time != 0) {
                cat.info("Streaming from file :" + filepath + " complete (" + kb + "KB, " + (kb / time) + "KB/sec)");
              } else {
                cat.info("Streaming from file :" + filepath + " complete (" + kb + "KB");
              }
              if (file != null)
                file.delete();
            }	catch (Exception e)	{
              cat.error("Exception when downloading", e);
              return; 
            } finally {
              try {	file.delete();}	catch (Exception ex) {}
            }
    Et voici le code de l'ejb

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    public String[] downloadFormsPack(int instrumentID) throws DocumentManagementException
    	{
    		cat.info("DocumentManagementBean: 'downloadFormsPack' starts...\n");
     
    		Connection connection = null;
     
    		String eptForms[] = {new String(), new String(), new String(), new String(), new String(), new String()};
    		byte[] buf = new byte[64 * 1024];
     
    		PreparedStatement stmt = null;
    		ResultSet eptFormsSet = null;
     
    		try
    		{
    			connection = getJDBCConnection();
     
    			File file = File.createTempFile("epf" + instrumentID, "tmp");
                File keywordsFile = File.createTempFile("kxfm" + instrumentID, "tmp");
                File activityFile = File.createTempFile("axfm" + instrumentID, "tmp");
     
    			stmt = connection.prepareStatement("" +
                        "SELECT EPT_FORMS, \n" +
                        "       EPT_FORMS_NAME, \n" +
                        "       ACTIVITYCODE_FORM, \n" +
                        "       KEYWORDS_FORM \n" +
                        "FROM EPSS_INSTRUMENT, EPSS_ACTIVITYCODE_FORM, EPSS_KEYWORDS_FORM\n" +
                        "WHERE ACTIVITYCODE_ID=\n" +
                        "                    (SELECT MAX(ACTIVITYCODE_ID) FROM EPSS_ACTIVITYCODE_FORM) \n" +
                        "AND KEYWORDS_ID=\n" +
                        "                (SELECT MAX(KEYWORDS_ID) FROM EPSS_KEYWORDS_FORM)\n" +
                        "AND INSTRUMENT_ID = ?");
    			stmt.setInt(1, instrumentID);
    			eptFormsSet = stmt.executeQuery();
    			eptFormsSet.next();
     
    			BLOB blob = ((OracleResultSet) eptFormsSet).getBLOB(1);
     
    			OutputStream fileStream = new FileOutputStream(file);
    			InputStream blobStream = blob.getBinaryStream();
     
    			try
    			{
    				int numRead = 0;
     
    				while((numRead = blobStream.read(buf)) >= 0)
    				{
    					fileStream.write(buf, 0, numRead);
    				}
     
     
                }
     
    			finally
    			{
    				try
    				{
    					fileStream.close();
    				}
    				catch(Exception e)
    				{
    				}
    				try
    				{
    					blobStream.close();
    				}
    				catch(Exception e)
    				{
    				}
     
     
    			}
     
                //get ActivityCodes form
                blob = ((OracleResultSet) eptFormsSet).getBLOB(3);
     
                fileStream = new FileOutputStream(activityFile);
                blobStream = blob.getBinaryStream();
                  try
                  {
                      int numRead = 0;
     
                      while ((numRead = blobStream.read(buf)) >= 0)
                      {
                          fileStream.write(buf, 0, numRead);
                      }
                  }
                  finally
                  {
                      try
                      {
                          fileStream.close();
                      }
                      catch (Exception e) {
                      }
                      try
                      {
                          blobStream.close();
                      }
                      catch (Exception e) {
                      }
     
                 }
     
     
                //get Keywords Form
                blob = ((OracleResultSet) eptFormsSet).getBLOB(4);
     
                fileStream = new FileOutputStream(keywordsFile);
                blobStream = blob.getBinaryStream();
                  try
                  {
                      int numRead = 0;
     
                      while ((numRead = blobStream.read(buf)) >= 0)
                      {
                          fileStream.write(buf, 0, numRead);
                      }
                  }
                  finally
                  {
                      try
                      {
                          fileStream.close();
                      }
                      catch (Exception e) {
                      }
                      try
                      {
                          blobStream.close();
                      }
                      catch (Exception e) {
                      }
     
                 }
                String eptFormName = eptFormsSet.getString(2);
    			String filepath = file.getAbsolutePath().toString();
                String activityFormName = "ActivityCodes.xfm";
                String activityFormPath = activityFile.getAbsolutePath().toString();
                String keywordsFormName = "Keywords.xfm";
                String keywordsFormPath = keywordsFile.getAbsolutePath().toString();
     
     
    			eptForms[0] = filepath;
    			eptForms[1] = eptFormName;
                eptForms[2] = activityFormPath;
                eptForms[3] = activityFormName;
                eptForms[4] = keywordsFormPath;
                eptForms[5] = keywordsFormName;
     
    			if(blob.isOpen()) blob.close();
     
    			return eptForms;
    		}
    		catch(Exception dbe)
    		{
    			cat.error("DocumentManagementBean: Exception in downloadFormsPack");
    			cat.error("Message: " + (dbe.getMessage()));
    			cat.error("Exception Details: ", dbe);
    			throw new DocumentManagementException();
    		}
    		finally
    		{
    			try
    			{
    				eptFormsSet.close();
    			}
    			catch(Exception e)
    			{
    			}
    			try
    			{
    				stmt.close();
    			}
    			catch(Exception e)
    			{
    			}
    			try
    			{
    				closeJDBCConnection(connection);
    			}
    			catch(Exception e)
    			{
    			}
     
    			cat.info("DocumentManagementBean: 'downloadFormsPack' exits...\n");
     
    		}
    	}//end of downloadFormsPack
    Excusez moi si le code est long, je préfère le mettre en entier pour que l'on comprenne bien le problème.

    En fait l'erreur se situe au moment ou je veux passer le path du temp file (qui est le blob) au ZipFile.

    Si quelqu'un a une solution .

  8. #8
    Membre émérite

    Homme Profil pro
    Senior Développeur JEE
    Inscrit en
    Avril 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Développeur JEE
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 795
    Par défaut
    Voici le code complet utilisé pour dézipper un zip et recopier le contenu de ce zip dans un nouveau zip sans écriture sur le disque

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
                cat.info("FilePath: " + filepath);
                int bufferSize = 64 * 1024;
                byte data[] = new byte[bufferSize];
                String directory = "";
                file = new File(filepath);
                file = File.createTempFile(filename,"");
                cat.info("Path for the zip File : "+file.getPath());
                cat.info("path for the temporary zip file downloaded : "+filepath);
                ZipFile in = new ZipFile(filepath);
     
     
                ZipOutputStream zout = new ZipOutputStream(new FileOutputStream(file));
     
                ZipEntry entry = null;
                ZipEntry newEntry = null;
     
                Enumeration enum = in.entries();
                while (enum.hasMoreElements())
                {
                    entry = (ZipEntry) enum.nextElement();
                    newEntry = new ZipEntry(entry.getName());
                    cat.info("Entry Name : " + entry.getName());
                    cat.info("Entry size : " + entry.getSize());
                    from = new BufferedInputStream(in.getInputStream(entry));
     
                    if (entry.isDirectory())
                    {
                        directory = entry.getName();
                    }
     
                    zout.putNextEntry(newEntry);
                    int count;
                    while ((count = from.read(data, 0, bufferSize)) != -1)
                    {
                        zout.write(data, 0, count);
                    }
     
                    zout.closeEntry();
                }
    Encore merci à mon cher Fillot Bulbo ainsi qu'a damien.

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

Discussions similaires

  1. [Stratégie] [ZIP] fichiers dans repertoires différents
    Par rednik dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 16/07/2009, 16h16
  2. Réponses: 7
    Dernier message: 26/01/2009, 10h26
  3. [Zip] Lecture des fichiers d'un repertoire et création d'un .zip
    Par pyrenaut dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 24/10/2008, 07h23
  4. creation de zip dans un repertoire
    Par flo7475 dans le forum VBScript
    Réponses: 4
    Dernier message: 20/07/2008, 00h39
  5. repertoire temp dynamique
    Par killpilot dans le forum C
    Réponses: 2
    Dernier message: 26/04/2002, 16h19

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