Показать сообщение отдельно
Старый 22.01.2013, 00:23   #9
soxie
AnyKey`щик
 
Регистрация: 22.01.2013
Сообщений: 1
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Похоже, есть баги в либе Lib_jsr75i

Дражайшие форумчане! Решил я поковырять и поискать баги в jsr75i (исходники), ибо пишу одну банально полезнейшую утилитку для nokia s40. Конкретно для этого случая мне понадобилась самописная функция (объединяющая open_file, read_bytes и close_file, иными словами, одноразовое чтение из файла по смещению определённого количества байт и его закрытие), и вот на что я напоролся в процессе экспериментов (в яве разбирался по ходу):
во всех наших skip и reset действо осуществляется через try и проверку ненулёвости 'dis' (DataInputStream), который скорее всего не обнуляется в случае закрытия файла. В итоге работспособный код выглядит:
public static String read_buffer(String name, int off, int len) {
    StringBuffer s = new StringBuffer();
    try {
        fc = (FileConnection) Connector.open("file://"+name);
        byte[] d = new byte[len];
//        if(dis==null)
            dis = fc.openDataInputStream();
        dis.read(d, off, len);
        for(int i=0;i<len;i++){
            byte b= d[i];
            s.append((char)b);
        }
//        if(dis!=null) 
        dis.close();
        fc.close();
    } catch(Exception e) {return "";}
   return s.toString();
}
Как-то так... Быть может, суть где-то рядом, и оно поможет в доработке либы.
(Offline)
 
Ответить с цитированием