我正在iOS上测试我的CodenameOne应用程序,我遇到了这个方法的问题:
public void readFile() {
JSONText=new String();
InputStream is = null;
try {
is = FileSystemStorage.getInstance().openInputStream(Utils.getRootPath()+DATA_FILE_NAME);
InputStreamReader br = new InputStreamReader(is);
int numChars=is.available();
System.out.println("numchars "+String.valueOf(numChars)); // = 1
char[] b=new char[numChars];
br.read(b, 0,numChars);
JSONText = new String(b);
br.close();
} catch (IOException e) {
}
System.out.println("read "+JSONText); // '{'
}
上述方法确实适用于CN1模拟器,但
它在iOS中不起作用。
CodenameOne有点跨平台,但不如Java本身。某些方法必须在每个平台上进行测试。
我对iOS平台感兴趣。
这个方法似乎在iOS上不起作用,实际上它只读取1个字符。
在iOS上读取CN1应用程序中使用的简单文本文件的正确例程是什么?
您不需要所有这些代码。您可以使用Util.readToString((将InputStream直接读取到String中。
String jsonText=Util.readToString(is);
System.out.println(jsonText);