как исправить это исключение в blackberry? - PullRequest
0 голосов
/ 07 декабря 2009

Я использую jxa-1.0 для создания приложения мгновенного обмена сообщениями в blackberry при запуске приложения, которое получает исключение, например "java.io.IOException: Поток закрыт". Не могли бы вы сказать, как это исправить ?? или, если у вас есть предыдущий опыт работы с Jxa-1.0, поделитесь своими идеями о том, как его использовать.

Ответы [ 2 ]

1 голос
/ 15 декабря 2010

Если вы хотите избежать этой ошибки на симуляторах, вам следует читать InputStream по одному байту за раз, попробуйте этот код (не используйте этот метод при работе с реальным устройством, поскольку это повлияет на производительность):

    InputStream is = httpConnection.openInputStream();
int data = -1;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
data = is.read();
bos.write(data);
while (data >= 0) {
 try {
  data = is.read();
 } catch (Exception e) {
  // Replace exception with "-1". This is to handle anomalous End-of-Stream in OS 5.
  data = -1;
 }
 bos.write(data);
}
byte[] byteArray = bos.toByteArray();
0 голосов
/ 07 декабря 2009

Если вы видите это сообщение об ошибке в симуляторе, не удивляйтесь. Я часто вижу подобные ошибки ввода-вывода в симуляторах, особенно через прямые TCP или Wi-Fi соединения. Некоторые из более новых симуляторов версии 5.0 кажутся более проблематичными, чем старые.

Если вы еще этого не сделали, попробуйте на реальном устройстве, и, вероятно, будет лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...