forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   Возможно ли?.. (http://forum.boolean.name/showthread.php?t=3943)

IVenoMI 17.07.2007 23:25

Возможно ли?..
 
Вопрос скорее концептуального характера, и ближе к яве, но все таки...

Предположим в ФС телефона есть файлик развером 2-3 мегабайта...

Можно ли открыть его таким образом, чтобы считать только определенную его часть, например 100 кб?..

Тоесть чтобы полностью не загружать его в память...

magpro 17.07.2007 23:37

Re: Возможно ли?..
 
Врядли. если только цепочко бит будет правельной то можно

IVenoMI 18.07.2007 14:10

Re: Возможно ли?..
 
Имеется ввиду если заранее известно с какого смещения нужно читать...

Ну или как вариант читать только нужные байты...

Piligrim 18.07.2007 14:43

Re: Возможно ли?..
 
по идее, если ява машина телефона сделана правильно она буферирует в память только часть файла при чтении через InputStream. Т.е. если в библиотеку ФС добавить возможность читать из файла как из Resource, то можно пролистать файл до нужного места кусками.

ViNT 18.07.2007 18:39

Re: Возможно ли?..
 
Можно посмотреть, как это реализовано в ReadManiac-он грузит любые файлы, даже больше объема памяти(подгружает текст динамически, кусками).

IVenoMI 19.07.2007 12:54

Re: Возможно ли?..
 
Цитата:

Сообщение от ViNT
Можно посмотреть, как это реализовано в ReadManiac-он грузит любые файлы, даже больше объема памяти(подгружает текст динамически, кусками).

Вот это именно то, что мне нужно...

Piligrim 19.07.2007 13:46

Re: Возможно ли?..
 
ReadManiac работает по такому же принципу. У него абстрактный класс для чтения, а на него уже навешаны классы чтения из RMS, ФС и непосредственно из zip архива под конкретную задачу

ViNT 19.07.2007 15:42

Re: Возможно ли?..
 
А нельзя в InputStream просто выставить смещение, с которого начинать чтение(как в Delphi у TFileStream)?

IVenoMI 19.07.2007 18:50

Re: Возможно ли?..
 
Кхм... А можно это как то осветить на уровне кода?...

Piligrim 20.07.2007 11:12

Re: Возможно ли?..
 
Цитата:

Сообщение от ViNT
А нельзя в InputStream просто выставить смещение, с которого начинать чтение(как в Delphi у TFileStream)?

Потоки по идее поддерживают seek(смещение), но здесь все очень сильно зависит от производителя. Есть такие реализации где это самое смещение производится простым чтением побайтно просто самой системой, и соответственно с ужасной скоростью.ЗЫ: добавлю в библиотеку jsr75i

IVenoMI 20.07.2007 18:53

Re: Возможно ли?..
 
Сенкс, буду ждать :)

Piligrim 23.07.2007 01:20

Re: Возможно ли?..
 
обновил либу jsr75i:
добавил get_stream:resource можно читать из файла как из ресурса.
skip и reset там уже были.

IVenoMI 23.07.2007 04:11

Re: Возможно ли?..
 
Гранд мерси, то что нужно было..


Часовой пояс GMT +4, время: 23:07.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot