2013-03-15 3 views
0

new_file_name est quelque chose comme 2013-03-15-08:59:10_65.zipZipOutputStream se plaint de FileNotFoundException

fileZip = new ZipOutputStream(new FileOutputStream(new File(new_file_name))); 
    byte[] buffer = new byte[1024]; 
    try{ 
     for(String fileName:fileList) 
     { 
      FileInputStream in = null; 
      try{ 
       File file = new File(fileName); 
       ZipEntry ze = new ZipEntry(fileName); 
       fileZip.putNextEntry(ze); 
       in = new FileInputStream(file); 
       int len = 0; 
       while((len = in.read(buffer)) > 0) { 
        fileZip.write(buffer, 0, len); 
       } 
       fileZip.closeEntry(); 
       in.close(); 
      } catch (Exception e) { 
       log(0, "Exception writing "+fileName+" to "+new_file_name+": "+e.toString()); 
     } 

Je reçois cette exception Exception writing to 2013-03-15-09:28:20_65.zip: java.io.FileNotFoundException: (No such file or directory)

Le répertoire a les autorisations. Je vois aussi un fichier qui est créé dans le dossier, j'ai aussi essayé de donner le getAbsolutePath(), qui m'a quand même donné la même exception.

+1

Est-ce que votre système de fichiers autorise ':' à faire partie du nom d'un fichier? –

+0

Oui, cela permet. – roymustang86

+1

Plutôt que de simplement consigner le message d'exception, consignez la totalité de la trace de la pile. Et mettez à jour votre question avec cette trace. Votre message actuel ne donne pas beaucoup d'informations réelles. Pire, il imprime votre nom de fichier désiré sur toute erreur, ce qui ne fait que vous dérouter. – parsifal

Répondre

0

Je pense que vous êtes pas autorisé à utiliser ':' dans le nom de fichier, si vous utilisez "2013-03-15-08_59_10_65.zip" ça devrait aller.

Ok ... Je parviens en quelque sorte à trouver la même erreur quand un fichier dans fileList n'existe pas!

+0

Désolé, mais cela n'a pas fonctionné. Je reçois toujours 'Exception écrit au 2013-03-15-09_45_13_65.zip: java.io.FileNotFoundException: (Aucun fichier ou répertoire) – roymustang86

1

J'ai écrit quelques méthodes utilitaires pour copier les répertoires/d'un fichier Zip à l'aide de la NIO.2 API File (la bibliothèque est Open Source):

Maven:

<dependency> 
    <groupId>org.softsmithy.lib</groupId> 
    <artifactId>softsmithy-lib-core</artifactId> 
    <version>0.3</version> 
</dependency> 

Tutoriel :

http://softsmithy.sourceforge.net/lib/current/docs/tutorial/nio-file/index.html#AddZipResourceSample

API: CopyFileVisitor.copy

Peut-être que vous le trouvez utile.

Questions connexes