I developed a j2me application that connects to my web hosting server through sockets. I read responses from the server using my own extended lineReader class, which extends the base InputStreamReader. If the server sends 5 response lines, the syntax for reading server responses is line by line:
line=input.readLine(); line = line + "\n" + input.readLine(); line = line + "\n" + input.readLine(); line = line + "\n" + input.readLine(); line = line + "\n" + input.readLine();
In this case, I can write this syntax because I know that there is a fixed number of answers. But if I do not know the number of lines and want to read the entire input stream immediately, how can I change the current readLine() function. Here is the code for the function:
public String readLine() throws IOException { StringBuffer sb = new StringBuffer(); int c; while ((c = read()) > 0 && c != '\n' && c != '\r' && c != -1) { sb.append((char)c); } //By now, buf is empty. if (c == '\r') { //Dos, or Mac line ending? c = super.read(); if (c != '\n' && c != -1) { //Push it back into the 'buffer' buf = (char) c; readAhead = true; } } return sb.toString(); }
Sujit agarwal
source share