2012-04-23 452 views
2

我從網上的代碼,它使用java.io.BufferedReader的J2ME替代方法?

imports java.io.BufferedReader 
imports java.io.PrintWriter 

此代碼是在Java SE。但我需要在J2ME(JAVA ME)中做同樣的事情。但它沒有BufferedReader和PrintWriter?

什麼可以用來代替BufferedReader和PrintWriter?

+2

也許你會想看看這個: http://stackoverflow.com/questions/200239/how-do-i-read-strings-in-j2me – Silviu 2012-04-23 14:34:51

回答

2

如果BufferedReader是因爲有ReadLine方法,你可以通過InputStreamReader更換和使用方法,如:

 

    public String readLine(Reader reader) throws IOException { 
     StringBuffer line = new StringBuffer(); 
     int c = reader.read(); 

     while (c != -1 && c != '\n') { 
      line.append((char)c); 
      c = reader.read(); 
     } 

     if (line.length() == 0 && c == -1) { 
      return null; 
     } 

     return line.toString(); 
    } 

如果PrintWriter是因爲有打印方法,您可以通過PrintStream替換它。

+0

我只是碰到這個答案出來(是的,我仍然需要使用J2ME)。這段代碼中有一個錯誤 - 它在第一個空行返回null。不應該if條件是'line.length()== 0 && c == -1'? – 2017-06-01 14:23:35

+0

考慮一個只包含'\ n'的空行,是的,它會在第一個空行上返回null – 2017-06-06 11:59:47