/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
J2ME, læsning fra socket
Fra : Kasper Johansen


Dato : 21-09-05 15:54

Hej gruppe.

Jeg skal læse fra en socket, via J2ME's socket-funktioner. Jeg har lavet en
funktion til min klasse der ser således ud:

public String GetLine(){
String str = "";
String newchar = "";
int cl = 0;

if (connected == true){
try{
while((cl = in.read()) != -1 && !newchar.equals("\n")){
newchar = "" + (char)cl;
str = str + newchar;
}
}catch(IOException ieo){
System.err.println("Exception caught!");
}

return str;
}else{
return "";
}
}


Den virker umiddelbart godt første gang jeg bruger den, men anden gang
syntes den at fejle. Jeg ved at den modtage noget med "\n" i, så den burde
kunne forstå det. Jeg undres... Er der nogen der har et svar?


--
Mvh Kasper Johansen



 
 
Kasper Johansen (21-09-2005)
Kommentar
Fra : Kasper Johansen


Dato : 21-09-05 16:03

"Kasper Johansen" <kasper@johansen.tdcadsl.dk> skrev i en meddelelse
news:433172d1$0$11170$ba624c82@nntp02.dk.telia.net...
> if (connected == true){
> try{
> while((cl = in.read()) != -1 && !newchar.equals("\n")){
> newchar = "" + (char)cl;
> str = str + newchar;
> }
> }catch(IOException ieo){
> System.err.println("Exception caught!");
> }
>
> return str;
> }else{
> return "";
> }
> }

Jeg fandt selv fejlen. Selvom funktionen stopper med at læse ved "\n", skal
man åbenbart lige læse den sidste bit også. Derfor tilføjede jeg efter min
while-løkke følgende:

int tempinput = in.read();


--
Mvh Kasper Johansen



Søg
Reklame
Statistik
Spørgsmål : 177549
Tips : 31968
Nyheder : 719565
Indlæg : 6408820
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste