public String readLine() {
	
		try {
			if (readeru != null) {
				final StringBuffer rv = new StringBuffer(8192);
				
				int temp = readeru.read();
				
				/* remember a line can terminate with any of the following: \r, \n, or \r\n */
				if (stripTheLineSeparator && temp == '\n') {
					temp = readeru.read();
				}
				
				stripTheLineSeparator = false;
				
				while(temp != -1) {
					if (temp == '\n') {
						return rv.toString();
					} else if (temp == '\r') {
						stripTheLineSeparator = true;
						return rv.toString();
					} else {
						rv.append((char) temp);
					}
					
					temp = readeru.read();
				}
				
				close();
				
				if (rv.length() > 0) {
					return rv.toString();
				} else {
					return null;
				}
			}
		} catch (final Exception ex) {
			close();
		}
		
		return null;
	}