如何在代号一中读取流的行

How to read lines of a stream in Codename One

在 Java 标准中,我可以逐行读取流,例如使用 BufferedReader class 的 readLine() 方法。在 com.codename1.io 包中 class 不存在。

如何在代号一中实现相同的目标?

我们当前的流代码不支持 readline,因为它不是读取流的最有效方式。我建议使用 Util.readToString 之类的方法,然后解析可能更有效的字符串。

但是,如果你想替换 readLine,你可以这样做(没有测试):

private String readLine(Reader is) throws IOException {
   int nextChar = is.read();
   if(nextChar == -1) {
       return null;
   }
   StringBuilder ret = new StringBuilder();
   while(nextChar > -1) {
       ret.append((char)nextChar);
       nextChar = is.read();
       if(nextChar == '\n') {
          return ret.toString();
       }
   }
   return ret.toString();
}