[Java] Bytes omzetten naar een string

Pagina: 1
Acties:

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Ik heb een Java applicatie gemaakt die (in een thread) op een bepaalde port luistert naar incoming data.

Ik gebruik de volgende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Luister op port 8101
ServerSocket serversocket = new ServerSocket(8101);

do {
    java.net.Socket socket = serversocket.accept();
    BufferedInputStream bufferedinputstream = new BufferedInputStream(socket.getInputStream());
    byte inBytes[] = new byte[1024];
    int i;
    StringBuffer sb = new StringBuffer("");
    String strTemp = "";

    while((i = bufferedinputstream.read(inBytes)) > 0)
    {
      // In i staat het aantal gelezen bytes 
      // Plaats de bytes in een string en 
      // voeg de string toe aan een string buffer
      System.out.println("Aantal gelezen bytes=" + i);
      strTemp = inBytes.toString();

      // Voeg de string toe aan de stringbuffer
      sb = sb.append(strTemp);
} while(true);

Wat is nu het probleem?
Die data die ik inlees krijg ik in packetjes van 1024 bytes binnen. Ik wil al die bytes gaan appenden in 1 string.
Als ik echter inBytes.toString() uitvoer en hij heeft 1024 bytes gelezen is mijn string slechts 36 chars lang.

Iets gaat er dus fout met de conversie.
Kan iemand mij verder helpen?

It’s nice to be important but it’s more important to be nice


  • Freak_NL
  • Registratie: Juli 2000
  • Laatst online: 05-09 20:53
Ik zie zo op het oog niets fout, maar misschien is dit het:
code:
1
2
3
4
sb = sb.append (..);
// hmm.. je overschrijft hem,
// doe dit eens:
sb.append (..);

:)

  • roelio
  • Registratie: Februari 2001
  • Niet online

roelio

fruitig, en fris.

Sexbierum? 8-)

en inderdaad is het sb.append(strTemp) niets meer niets minder :)

AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Oke thanks ga ik dat eerst ff fixen

It’s nice to be important but it’s more important to be nice


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Oke die fout heb ik verbeterd, maar de conversie van bytes naar een String gaat nog steeds niet goed. Iemand enig idee :?

It’s nice to be important but it’s more important to be nice


  • blackbit
  • Registratie: November 2001
  • Laatst online: 17-01-2008

blackbit

626C6163 6B626974

Je gebruikt beter new String(byte[]) om te converteren :). byte[].toString() geeft je de java object hashcode voor de byte array ;).

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Op maandag 29 april 2002 11:03 schreef blackbit het volgende:
Je gebruikt beter new String(byte[]) om te converteren :). byte[].toString() geeft je de java object hashcode voor de byte array ;).
Hmm ik vond die string er al zo raar uit zien.
Maar inderdaad als ik het met new een string aanmaak op basis van het byte array lijkt het allemaal goed te gaan.
Thanks :)

It’s nice to be important but it’s more important to be nice

Pagina: 1