Il existe un problème étrange que j'ai rencontré en utilisant RIM compression API, je ne peux pas le faire fonctionner comme il est décrit dans la documentation.
Si je gzip fichier texte brut à l'aide win gzip tool, ajouter gz aux ressources du projet blackberry et application essayer de le décompresser, il y aura boucle infinie, gzis.read() ne retourne -1 ...BlackBerry - Problème avec la décompression GZip
try
{
InputStream inputStream = getClass().getResourceAsStream("test.gz");
GZIPInputStream gzis = new GZIPInputStream(inputStream);
StringBuffer sb = new StringBuffer();
char c;
while ((c = (char)gzis.read()) != -1)
{
sb.append(c);
}
String data = sb.toString();
add(new RichTextField(data));
gzis.close();
}
catch(IOException ioe)
{
}
Après le contenu compressé, la valeur 65535 est répétée dans gzis.read(). La seule solution que j'ai trouvé est stupide
while ((c = (char)gzis.read()) != -1 && c != 65535)
Mais je suis curieux de savoir c'est la raison, ce que je fais mal, et pourquoi 65535?
Merci Kevin, RIM démystifié! Je devrais être plus prudent :) –
Omg .. vieille question, mais m'a aidé juste aujourd'hui. –