|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.03.2011, 22:38 | #1 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
аналог StreamReader, без буферизации.
сабж в теме.
а то просто буферизация мне все портит. он скачивает часть данных, но обратно её не возвращает, в итоге эта часть теряется, что неприемлемо. или придется писать свой аналог?(мне не трудно, но может есть готовое) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
09.03.2011, 00:43 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Коллега, а можете на примере продемонстрировать:
"он скачивает часть данных, но обратно её не возвращает, в итоге эта часть теряется" ?! что и куда теряется?! |
09.03.2011, 00:54 | #3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
пример банален, мне нужно с файла считать данные до пустой строки, дальнейшие данные это бинарные данные их нужно обработать иначе.
получается так: Код:
то есть StreamReader буферизирует данные, это мне мешает, минимум мне удавалось снизить потери до 0,10КБ используя Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
09.03.2011, 12:45 | #4 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
а что мешает и писать данные кусками?
|
09.03.2011, 12:48 | #5 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
может я чего то не понимаю, но как я могу так сделать, ведь мне не известен заранее размер куска, поэтому кусок так или иначе попадет нетуда, и причем разрезания строк допустить нельзя.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
09.03.2011, 12:58 | #6 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
может я пока слабо понимаю в шарповом коде
но ты лучше напиши что ты конкретно хочешь получить из 1го файла во 2й? а то обычно код делает одно, а программер подразумевал другое, но проге же не прикажешь - делает что написано |
09.03.2011, 13:03 | #7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
код делает почти то что мне надо, но он теряет данные за счет буферизации StreamReader.
файл имеет вид Код:
заранее неизвестен ни размер бинарных данных, ни размер блока с текстом. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
09.03.2011, 13:46 | #8 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
ну если ты умеешь находить положение блока с бинарными данными, то какие сложности прочитать поток с определенной позиции и до конца?
вот полез в доку, прочитал, дописал по твоему примеру и опробовал Код:
|
09.03.2011, 14:02 | #9 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
ну и код можно немного упростить
убрать этот флаг Код:
|
09.03.2011, 18:29 | #10 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
хм вариант хороший спасибо, но он не подойдет для этой цели(но сохраню, в другой скорее всего пригодится)
Код:
или же создать временный файл/MemoryStream? но чем мне так не нравится ЗЫ: настоящий код естественно сложнее, но структура та же, то есть после чтения текста, мне нужен сам именно Stream. неужель нет готового класса? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 09.03.2011 в 18:33. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
<b>Осуществление ввода с клавиатуры без последующего подтверждения(без ENTER)</b> | khorolpavel | Общие вопросы C/C++ | 2 | 30.12.2010 12:04 |
Использование метода двойной буферизации для динамической графики(избавление от мерцания) | noxin | Win Api | 1 | 05.04.2010 20:08 |
Win Api: использование метода двойной буферизации для динамической графики(избавление от мерцания) | noxin | Помощь студентам | 0 | 05.04.2010 19:55 |
Аналог try. | beemoto | Общие вопросы Delphi | 16 | 16.12.2009 18:33 |
Процедуры без Bios и без Dos,бывают? | codeok | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 31.10.2008 03:17 |