# ordner nach socket-übertragung defekt



## muuh (8. Jan 2007)

Server-Code:

```
filename=System.getProperty("user.dir")+"\\"+ gamesToDownload.get(i)+".zip";
				    	System.out.println("Filename: " + filename);
				    	FileInputStream fis = new FileInputStream(filename);
				    	File f = new File ("C:\\helpfile.zip");
				    	FileOutputStream fos = new FileOutputStream(f);
				    	int len = 0;
				    	
				    	while ((len=fis.read(buffer)) > 0)
				    		fos.write(buffer, 0, len);
				    	oos.writeObject(f);
				    	oos.flush();
				    	fis.close();
				    	fos.close();
```

Client-Code:

```
File f = (File)ois.readObject();
						
						System.out.println(f.length());
						FileOutputStream fos = new FileOutputStream (new File("C:\\Temp\\" + gi.getName()+ ".zip"));
						FileInputStream fis = new FileInputStream(f);
						int bytesRead = 0;
						while ((bytesRead = fis.read(buffer))>0)
							fos.write(buffer, 0, bytesRead);
						fis.close();
					    fos.close();
```

Die Größe der Archive stimmt überein und das helpfile.zip, kann ich öffnen. 
Wenn ich jetzt das Archive im Temp-Verzeichnis öffnen möchte, kommt folgende Fehlermeldung: Der zip-komprimierte Ordner ist ungültig oder beschädigt.

Weiß jemand Rat?


----------



## muuh (8. Jan 2007)

So, ich hab jetz auch noch die crc32-summe überprüft und diese ist bei beiden files gleich


----------



## SlaterB (8. Jan 2007)

vergleiche die Datei Byte-weise, das kann Java ja..,
aber konkreteres kann ich nicht sagen


----------



## Guest (8. Jan 2007)

SlaterB hat gesagt.:
			
		

> vergleiche die Datei Byte-weise, das kann Java ja..,
> aber konkreteres kann ich nicht sagen



kannst du das bitte ein wenig genauer erläutern?


----------



## muuh (8. Jan 2007)

so, ich habe jetzt die ide geschlossen, jetzt kann ich auch den ordner öffnen!

ich habe doch alle file-streams gelöscht, wieso kann ich den ordner dann nicht in meinem programm weiterbenutzen, ich möchte ihn nämlich auch noch entzippen...


----------



## muuh (8. Jan 2007)

so, ich hab jetzt beim client in der schleife noch ein flush gemacht, jetz gehts


----------

