Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Stream to String

  1. #1
    Registrierter Benutzer
    Registriert seit
    30.01.2001
    Beiträge
    17

    Stream to String

    Guten Tag,
    ich habe da ein kleins Problem das bestimmt einfach zu lösen ist. Jedoch komme ich momentan nicht auch die Lösung.

    Folgender Code (Das Standardbeispiel schlechthin ;-))
    Code:
    Socket sock = new Socket("meinserver.de");
    InputStream in = sock.getInputStream();
    OutputStream out = sock.getOutputStream();
    String abfrage = "bla vla bla";
    out.write(abfrage.getBytes());
    
    int len;
    byte[] b = new byte[100];
    while ((len = in.read(b)) != -1)
    {
          System.out.write(b,0,len);					
    }
    				
    in.close();
    out.close();
    sock.close();
    Ich will nun die Ausgabe jedoch in einen String schreiben und nicht gleich ausgeben lassen. Wie kann man das realisieren?

    Danke Daim

  2. #2
    Registrierter Benutzer
    Registriert seit
    05.06.2003
    Beiträge
    118
    java.lang.String hat als Konstruktor u.A. String(byte[] bytes).

    TME

  3. #3
    Registrierter Benutzer
    Registriert seit
    30.01.2001
    Beiträge
    17
    Danke. Habe es doch ein bisschen anders gelöst.

    Code:
    		
    inputStream = new BufferedReader(new InputStreamReader(sock.getInputStream())); 
    				
    while ( (line = inputStream.readLine()) != null){
    
    // Lese jede einzelne Zeile aus
    dataContent = dataContent + new String(line+"\n");
    }

  4. #4
    Registrierter Benutzer Avatar von mwanaheri
    Registriert seit
    28.10.2003
    Ort
    Bayreuth
    Beiträge
    569
    Dann sollte dataContent allerdings ein StringBuffer (oder ein StringBuilder) sein, denn sonst erzeugst du bei jedem Durchlauf einen neuen String, was irre Mengen Speicher frisst. In der schleife hieße das dann:

    dataContent.append(line + "\n");

    Wenn du es nach dem Auslesen als echten String brauchst, reicht

    dataContent.toString()
    Das Ziel ist das Ziel.

  5. #5
    Registrierter Benutzer
    Registriert seit
    30.01.2001
    Beiträge
    17
    OK, Danke. Das war mir nicht so bewusst. Habe es geändert und läuft natürlich genau so gut (wenn nicht sogar besser wie du sagtest).

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •