uepselon: Probleme mit InputStream

Hallo,

ich versuche mittels eines Java Programms, Daten von einem PHP Script zu empfangen, mein bisheriger versuch sieht wie folgt aus:

FileWriter myW = new FileWriter("buffer.zip", true);

URL spiegelURL = new URL( "http://localhost/test.php" );
                 InputStream myIS = spiegelURL.openStream();
                 InputStreamReader myISR = new InputStreamReader(myIS);
                 BufferedReader myInp = new BufferedReader(myISR);

int cbuf;
                 while (( cbuf = myInp.read() ) != -1 )
                 {   myW.write(cbuf); }
                 myInp.close();

Das PHP Script gibt beim aufruf, die daten einer auf dem Server liegenden Zip Datei zurück. Das Java Programm sollte diese Daten empfangen und Sie als Datei buffer.zip, lokal sichern.

Ich habe jedoch noch zwei Probleme:

1. Das Java Programm empfängt immer nur 8 KB Daten, d.h größere Mengen werden auf 8 KB verkürzt und kleinere kommen irgendwie gar nicht an.

2. Das Java Programm, verwurschtelt einige Bytes und macht statt ihrem richtigen Character ein ? oder einen _

Woran kann das liegen?
Das PHP Script arbeitet tadelos, es muss am Java Code liegen!

Viele Grüße

ueps

  1. Hi,

    ich versuche mittels eines Java Programms, Daten von einem PHP Script zu empfangen, mein bisheriger versuch sieht wie folgt aus:

    FileWriter myW = new FileWriter("buffer.zip", true);

    URL spiegelURL = new URL( "http://localhost/test.php" );
                     InputStream myIS = spiegelURL.openStream();
                     InputStreamReader myISR = new InputStreamReader(myIS);
                     BufferedReader myInp = new BufferedReader(myISR);

    int cbuf;
                     while (( cbuf = myInp.read() ) != -1 )
                     {   myW.write(cbuf); }
                     myInp.close();

    myW.close(); // damit der Rest aus dem Puffer noch in die Datei kommt.

    Ach ja, zeichenweise zu lesen/zu schreiben ist nicht gerade effektiv.
    Wenn es sich um Text handelt, würde ich mindestens zeilenweise lesen.

    Andreas