Komprimierung (ZIP)

W

Wadenbeißer

Und zwar benutze ich folgende Methode um Dateien zu packen

public void zip()
{
final int BUFFER = 2048;

try {
BufferedInputStream origin = null;
FileOutputStream dest = new
FileOutputStream("c:\\myfigs4.zip");
ZipOutputStream out = new ZipOutputStream(new
BufferedOutputStream(dest));
out.setMethod(ZipOutputStream.DEFLATED);
byte data[] = new byte[BUFFER];
File f = new File("c:\\Testdaten");
String files[] = f.list();

for (int i=0; i<files.length; i++) {
System.out.println("Adding: "+files[i]);
FileInputStream fi = new
FileInputStream(files[i]);
origin = new
BufferedInputStream(fi, BUFFER);
ZipEntry entry = new ZipEntry(files[i]);
out.putNextEntry(entry);
int count;
while((count = origin.read(data, 0,
BUFFER)) != -1) {
out.write(data, 0, count);
}
origin.close();
}
out.close();
} catch(Exception e) {
e.printStackTrace();

Wenn ich das ganze also Applikation mit main laufen lassen, funktioniert es wunderbar.
Sobald ich das ganze jedoch in ein Servlet einbinde, schmeißt er mir folgende Exception:

Adding: test.pdf
java.io.FileNotFoundException: test.pdf (Das System kann die angegebene Datei nicht finden)
usw...

Daher gehe ich mal davon aus, dass es Probleme gibt, wenn ich auf das Dateisystem zugreifen will.
Darum wollte ich einfach mal alle Dateien in eine zip packen lassen, sie sich im "aktuellen" Pfad des Aufrufs
befinden.Daher änderte ich folgende Zeilen um:


File f = new File(".");
String files[] = f.list();

Bei der Applikation funzte das wunderbar. Beim Servlet bekam ich folgende Exception:

Adding: $ncsp$.inf
Adding: $winnt$.inf
Adding: 1025
java.io.FileNotFoundException: 1025 (Zugriff verweigert)
usw......


Habe schon nach Lösungen gesucht, teilweise etwas zu den catalina policys gefunden, kann damit aber nichts anfangen.

Danke im Vorraus für Hilfe
 

Neue Beiträge

Zurück