# DatenStrom (text) entschlüsseln.



## MrSandaman (18. Feb 2005)

Hallo,

ich habe mir einen Client/Server gebaut....und will de Text den der Client versendet mit GZIPOutputStream packen...
Das klappt auch alles soweit ganz gut, nur weiß ich nicht recht wie ich den Strom beim Server wieder entpacken soll...

ich habe folgenden Server-Code:

```
try{
       in = new GZIPInputStream(client.getInputStream());
	//Tries to receive messages
	try {
		int packages = in.read();
		System.out.println("\n\nStarting new transfer...");
		System.out.print("Packages: "+packages);
		for(int i=0; i<packages; i++) {
			int len;
			byte[] b = new byte[PACKAGESIZE];
			System.out.print("\nPackage "+(i+1)+": ");
			if ((len=in.read(b)) == -1) {
				break;
			}
			System.out.println(len+" Stream-Bytes");
			message += new String(b);
		}
		System.out.println(message);
		System.out.write(in.read());
		System.out.write(in.read());
	}
	catch(NullPointerException e){
		System.err.println("Nullpointer b!");
	}
	catch (InterruptedIOException e){
	}
	catch(IOException e){
		System.err.println("IO Error at read()");
	}
	finally{
    		client.close();
         }
```

Beim Ausführen erhalte ich an dem ersten read() schon eine IOException.
Ich weiß, dass es für GZIPInputStream nicht diese read() Methode gibt, doch wie kann ich den code so umbauen, dass ich die read()-Methode benutzen kann??? Also ich würde gerne wissen, wie ich einen GZIPInputStream zu einem normalen Stream umändern kann, welchen ich ohne GZIPOutputStream zu benutzen, gehabt hätte..

Hoffentlich kann mir jemand helfen...

Aber schonmal jetzt DANKE!

MfG MrSandman


----------



## Icewind (19. Feb 2005)

es gibt die methode read in GZipInputStream nur in dieser Variante: read(byte[] buf, int off, int len)

also in deinem fall wäre das: read(b,0,PACKAGESIZE);


----------



## MrSandman (19. Feb 2005)

Okay,

ich glaube ich habe mich etwas falsch ausgedrückt...jedenfalls funzt das mit read(b,0 PACKAGESIZE) nit!

Was ich auch eigentlich wissen wollte, ist wie ich einen GZIPInputStream in einen reinen InputStream umwandeln kann, sodass ich die InputStream Methoden verwenden kann....???

Hat jemand ne Idee.....????


Schonmal Danke!

MrSandman


----------



## Icewind (19. Feb 2005)

hm naja du musst ihn ja nicht umwandeln oder?? kannst ja einfach nur einen InputStream verwenden..


----------

