[JAVA] Inputstreamreader, read() omzetten in Strin

Pagina: 1
Acties:

  • Blubber
  • Registratie: Mei 2000
  • Niet online
De client stuurt dus tekens naar een server, deze moet deze 1 voor 1 doorgeven aan een andere methode die er wat mee kan. Maar de methode read() geeft alleen int terug, hoe zet ik deze om in de bijbehorende String?

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Waarom string? Waarom geen char?

  • Dash2in1
  • Registratie: November 2001
  • Laatst online: 31-08 22:49
als inpStrReader je InputStreamReader is .. dan zoiets als:
code:
1
2
3
4
5
6
String inputString="";
int temp; /* let niet op deze naam */
while( (temp = inpStrReader.read()) != -1 )
{
  inputString += (char) temp; /* weet ff niet of deze casting nodig is */
}

dit is ff uit me hoofd, weet neit zeker of het werkt..

Verwijderd

Dash2in1 ---> Als je het bij de integer behorende teken wil toevoegen aan inputString, moet je hem casten, anders wordt van de integer een String gemaakt die achteraan de inputString wordt toegevoegd... :)

  • Dash2in1
  • Registratie: November 2001
  • Laatst online: 31-08 22:49
Op zondag 03 februari 2002 16:53 schreef minne het volgende:
Dash2in1 ---> Als je het bij de integer behorende teken wil toevoegen aan inputString, moet je hem casten, anders wordt van de integer een String gemaakt die achteraan de inputString wordt toegevoegd... :)
:) dat vermoedde ik al .. daarom staat er ook een cast ;)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Als je hem even in een BufferedReader stopt kan je ook readLine gebruiken als dat je doel was :) .

Denk er overigens wel aan om StringBuffers te gebruiken als je een nieuwe String wilt opbouwen (ipv optelling van Strings)!

De methode die Dash2in1 voorstelt is in dit geval dus zeer inefficient.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Dash2in1
  • Registratie: November 2001
  • Laatst online: 31-08 22:49
Op zondag 03 februari 2002 17:05 schreef mbravenboer het volgende:
Als je hem even in een BufferedReader stopt kan je ook readLine gebruiken als dat je doel was :) .

Denk er overigens wel aan om StringBuffers te gebruiken als je een nieuwe String wilt opbouwen (ipv optelling van Strings)!

De methode die Dash2in1 voorstelt is in dit geval dus zeer inefficient.
Hmm, wat voor factor scheelt het denk je (qua snelheid) ?

  • Blubber
  • Registratie: Mei 2000
  • Niet online
Op zondag 03 februari 2002 17:05 schreef mbravenboer het volgende:
Als je hem even in een BufferedReader stopt kan je ook readLine gebruiken als dat je doel was :) .

Denk er overigens wel aan om StringBuffers te gebruiken als je een nieuwe String wilt opbouwen (ipv optelling van Strings)!

De methode die Dash2in1 voorstelt is in dit geval dus zeer inefficient.
Ik gebruikte eerst een bufferedreader maar die werkt niet helemaal goed. Hij herkent de commandos niet goed :(

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Dash2in1: Hmm, wat voor factor scheelt het denk je (qua snelheid) ?
Ontzettend veel... Als je op deze manier String optelling gebruikt wordt er bij elke optelling een nieuw String Object aangemaakt. Als je dus 1000 tekens inlees worden er 1000 objecten aagemaakt :o . Dit zal in vrijwel alle serieuze gevallen tot onacceptabele performance leiden.

Kijk voor een heel erg goed (en ondertussen klassiek ;) ) voorbeeld maar eens in dit topic:

[topic=105022/1/25]

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Blubber: Ik gebruikte eerst een bufferedreader maar die werkt niet helemaal goed. Hij herkent de commandos niet goed :(
Das natuurlijk nogal een vage omschrijving ;) .

Allereerst doet een BufferedReader niets anders dan een gewone Reader, maar dan via een buffer. Hierdoor gaat de performance omhoog (het is dus vrijwel altijd aan te raden om te bufferen), maar kan je ook gebruik maken van extra functionaliteit zoals het inlezen van een String tot aan een newline.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Blubber
  • Registratie: Mei 2000
  • Niet online
Op zondag 03 februari 2002 17:15 schreef mbravenboer het volgende:

[..]

Das natuurlijk nogal een vage omschrijving ;) .

Allereerst doet een BufferedReader niets anders dan een gewone Reader, maar dan via een buffer. Hierdoor gaat de performance omhoog (het is dus vrijwel altijd aan te raden om te bufferen), maar kan je ook gebruik maken van extra functionaliteit zoals het inlezen van een String tot aan een newline.
Ja, dus als ik naar me server telnet, en dan USER blubber inklop, en vervolgens op enter ram, dan zou hij moeten werken? Dat doet ie dus niet, maar dat kan dan ook nog aan telnet liggen :)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Blubber: Ja, dus als ik naar me server telnet, en dan USER blubber inklop, en vervolgens op enter ram, dan zou hij moeten werken? Dat doet ie dus niet, maar dat kan dan ook nog aan telnet liggen :)
Als er door de stream ook daadwerkelijk een \n of een \r\n gaat moet dat inderdaad werken, maar ja: als je een enter op je command-prompt doet wil dat nog niet zeggen dat telnet het ook verstuurt :+ . Ik ken het telnet protocol verder niet, dus daar heb ik geen idee van.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Onno
  • Registratie: Juni 1999
  • Niet online
Op zondag 03 februari 2002 17:23 schreef mbravenboer het volgende:
als je een enter op je command-prompt doet wil dat nog niet zeggen dat telnet het ook verstuurt :+ .
Jawel. telnet buffert niet. :)

(zou ook tamelijk onwerkbaar worden als telnet dat wel deed)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Onno: Jawel. telnet buffert niet. :)
Ik bedoelde of de newline ook daadwerkelijk onderdeel uitmaakt van het protocol ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Blubber
  • Registratie: Mei 2000
  • Niet online
Op zondag 03 februari 2002 17:36 schreef mbravenboer het volgende:

[..]

Ik bedoelde of de newline ook daadwerkelijk onderdeel uitmaakt van het protocol ;) .
Je hebt helemaal gelijk, als ik er zelf een \n achter klop werkt het wel!, 1000x dank :)
Pagina: 1