ici j'essaie de compresser seulement le fichier .txt dans un dossier en utilisant java.Comment faire pour ne compresser que le fichier .txt dans un dossier en utilisant java?
Mon code ici a été trouvé avec google et fonctionne parfaitement, mais seulement pour un fichier .txt spécifié.
Merci.
import java.util.*;
import java.util.zip.*;
import java.io.*;
public class ZipFile
{
public static void main(String[] args) {
ZipOutputStream out = null;
InputStream in = null;
try {
File inputFile1 = new File("c:\\Target\\target.txt");// here i want to say only the directroy where .txt files are stored
File outputFile = new File("c:\\Target\\Archive_target.zip");//here i want to put zipped file in a different directory
OutputStream rawOut = new BufferedOutputStream(new FileOutputStream(outputFile));
out = new ZipOutputStream(rawOut);
InputStream rawIn = new FileInputStream(inputFile1);
in = new BufferedInputStream(rawIn);
ZipEntry entry = new ZipEntry("c:\\Target\\target.txt");
out.putNextEntry(entry);
byte[] buf = new byte[2048];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
}
catch(IOException e) {
e.printStackTrace();
}
finally {
try {
if(in != null) {
in.close();
}
if(out != null) {
out.close();
}
}
catch(IOException ignored)
{ }
}
}
}
Ok lorsque je tente votre astuce, j'ai un message comme: – user618111
java.io.FileNotFoundException: c: \ cible (accès refusé) à java. io.FileInputStream.o pen (méthode native) à java.io.FileInputStream. (FileInputStream.java:106) à ZipFile.main (ZipFile.java:37) –
user618111
@ user618111: s'il vous plaît montrer ce que vous avez fait, et le message d'erreur, dans une édition à la question. De cette façon, il est plus facile de vous aider. (Il semble que le répertoire ne soit pas lisible ou que vous essayez de lire un répertoire en tant que fichier). –