Zurück tutorials.de > Programming > Java

 
 
Hallo und herzlich willkommen! Tutorials.de ist eine Hilfe-Community mit dem Motto User helfen Usern. Als Gast verfügst Du über Schreibrechte in unseren Foren und Blogs. Du kannst dich aber gerne auch kostenlos registrieren und Teil unserer Gemeinschaft werden! Viel Spaß & Erfolg bei der Vermehrung deines Wissens :-)

Themen: 242.975 | Beiträge: 1.352.293 | Mitglieder: 169.418 (Stand 28.01.10) | Fragen zur Nutzung von Tutorials.de? Nutzungsregeln | Kontaktformular | Impressum

Jubiläums-Countdown 23.02 23.03 23.04 23.05 23.06 23.07 23.08 23.09


Einladung zum C++ für Einsteiger-Workshop
  AntwortAntworten (über Gastzugang)    
  AntwortAntworten (über Gastzugang)    
 
Themen-Optionen Ansicht
Alt 02.04.08, 16:21   #1 (permalink)
Grünschnabel
 
Registriert seit: Apr 2008
Beiträge: 2
Renommee-Modifikator: 0
access100 hat eine blütenweiße Weste

Datein aus Zip-Archiv in 2. Archiv kopieren

Servus Leute,

ich hab da ein kleines Problem mit dem packen von Dateien direkt aus einem Archiv in ein zweites.

Ich weiß, wie ich die Dateien von einem Archiv entpacken kann und dann die Dateien aus dem betimmten Verzeichnis wieder in ein neues Archiv packen kann, aber ich würde diesen Schritt gerne umgehen und direkt die Dateien aus dem ersten Archiv in das zweite Archiv schieben. Ich weiß nur nicht, wie ich die Dateien ansprechen kann, weil nur mit "ZipEntry.getName()" klappt das ganze nicht.

Ist das möglich oder geht das nur über den Umweg entpacken -> neu packen
  access100 ist offline  
 
Alt 02.04.08, 20:26   #2 (permalink)
Moderator
 
Benutzerbild von zeja tutorials.de Moderator 
 
Registriert seit: Sep 2006
Beiträge: 2.880
Renommee-Modifikator: 24
zeja kann auf vieles stolz seinzeja kann auf vieles stolz seinzeja kann auf vieles stolz seinzeja kann auf vieles stolz seinzeja kann auf vieles stolz seinzeja kann auf vieles stolz sein

AW: Datein aus Zip-Archiv in 2. Archiv kopieren

Versuch mal mit einem ZipInputStream vom Zip zu lesen. Dort kommst du mit nextEntry immer einen Eintrag weiter. Von nem Entry kannst du dir mit getSize die Länge geben lassen und dann auf den InputStream mit read dieses Entry in ein ByteArray einlesen und dieses dann mit nem ZipOutputStream wieder schreiben. Mit skip kannst du Einträge überspringen die dich nicht interessieren. Ob das so wirklich effizient ist weiß ich allerdings nicht. Kannst ja mal probieren
  zeja ist offline  
 
Alt 02.04.08, 21:29   #3 (permalink)
Moderator
 
Benutzerbild von Sascha Schirra tutorials.de Moderator 
 
Registriert seit: May 2005
Beiträge: 3.923
Renommee-Modifikator: 31
Sascha Schirra kann auf vieles stolz seinSascha Schirra kann auf vieles stolz seinSascha Schirra kann auf vieles stolz seinSascha Schirra kann auf vieles stolz seinSascha Schirra kann auf vieles stolz seinSascha Schirra kann auf vieles stolz sein

AW: Datein aus Zip-Archiv in 2. Archiv kopieren

Hallo,

schau mal hier
Code:
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipOutputStream;


public class ZipFileExample {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception {
		File archiveFile = new File("/home/sash/Downloads/Firefox/jdk-6-doc.zip");

		copy(archiveFile);
	}

	public static void copy(File archiveFile)
			throws Exception {

		File newFile = new File("/home/sash/NewZip.zip");

		ZipFile zipSrc = new ZipFile(archiveFile);

		ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(newFile));

		Enumeration srcEntries = zipSrc.entries();
		while (srcEntries.hasMoreElements()) {
			ZipEntry entry = (ZipEntry) srcEntries.nextElement();
			ZipEntry newEntry = new ZipEntry(entry.getName());
			zos.putNextEntry(newEntry);

			BufferedInputStream bis = new BufferedInputStream(zipSrc
					.getInputStream(entry));

			while (bis.available() > 0) {
				zos.write(bis.read());
			}
			zos.closeEntry();

			bis.close();
		}

		


		zos.finish();

		zos.close();

		zipSrc.close();

	}

}

Du musst jetzt nur noch eine IF-Anweisung reinpacken und damit dann nur die Entries wählen, die auch ins neue File rein sollen. Im Moment werden einfach alle reingepackt.

MFG

Sascha
__________________
Niveau von unten betrachtet wird meistens mit Arroganz verwechselt. ;-)

Aktuelles Buch: 1984
  Sascha Schirra ist offline  
 
Alt 03.04.08, 08:29   #4 (permalink)
Grünschnabel
 
Registriert seit: Apr 2008
Beiträge: 2
Renommee-Modifikator: 0
access100 hat eine blütenweiße Weste

AW: Datein aus Zip-Archiv in 2. Archiv kopieren

Servus,

hey Leute vielen Dank für die Hilfe.

@Sascha Schirra: Super Code, funktioniert einwandfrei. Besten Dank
  access100 ist offline  
 
 
 
Lesezeichen:


Themen-Optionen
Ansicht
Ähnliche Themen
 
Thema Autor Forum Antworten Letzter Beitrag
Zip-Archiv erstellen sebastianv PHP 7 03.05.06 18:22
.ZIP Archiv erstellen proprogger .NET Datenverwaltung 2 08.01.06 18:01
zip.lib.php - Zu großes Zip-Archiv in Datei auslagern.. Scope PHP 1 15.08.05 15:52
Dateien in ein Zip-Archiv hinzufügen Sascha Schirra Java 10 01.06.05 19:43
ZIP-Archiv kaputt ElFunghi Microsoft Windows 4 11.04.03 00:45
» Tools
 
tutorials.de-Tools tutorial.de-Suchfeld tutorial.de-Widget tutorial.de-RSS-Feed tutorial.de-Banner
» Neue Links
 
Hits: 129
»
JHT's Planetary...
(Cinema 4D-Objekte)
Hits: 258
»
Tageslicht ohne GI
(Cinema 4D-Tutorials)
Hits: 145
»
Puzzle
(Cinema 4D-Tutorials)
Hits: 98
»
Lacreme
(Cinema 4D-Tutorials)
Hits: 187
»
Liquid Light
(Cinema 4D-Tutorials)
» Aktuelle Umfrage
 
Bist du mit der Geschwindigkeit der Tutorials.de-Website zufrieden?
Ja, es putzt mir glatt den Staub vom Bildschirm! - 78,77%
141 Stimmen
Nein, ich denke da muss noch nachgebessert werden... - 21,23%
38 Stimmen
Stimmen gesamt: 179
Du darfst bei dieser Umfrage nicht abstimmen.

 

Alle Zeitangaben in WEZ +1. Es ist jetzt 02:15 Uhr.


Powered by vBulletin® Version 3.8.5 (Deutsch) & vBadvanced CMPS v.3.2.0
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.5.0 RC2 ©2010, Crawlability, Inc.
Alle Rechte vorbehalten ©2000 - 2010 tutorials.de
Design by Mark, CSS by Maik & Sven Mintel
Seite generiert in 0,17359 Sekunden mit 26 queries