|
|
|
OutputStream & flush
|
|||
|---|---|---|---|
|
#18+
Объясните мне плиз, зачем нужен метод flush у OutputStream. Вот что пишет SDK: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Т.е. его предназначение ясно - но написано же, что у OutputStream он ничего не делает. А раз он ничего не делает, какой от него толк ? Как он может выкинуть эксепшен ничего не делая ? Более того, при вызове его он действительно сбрасывает буфер .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2006, 15:14 |
|
||
|
OutputStream & flush
|
|||
|---|---|---|---|
|
#18+
а это, батенька, полиморфизм! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2006, 16:44 |
|
||
|
OutputStream & flush
|
|||
|---|---|---|---|
|
#18+
всмысле, что это фактически абстрактный метод, но его не сделали абстрактным, а сделали пустым, чтобы тем наследникам, которым нечего флашить, не приходилось его описывать лишний раз. я так думаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2006, 16:45 |
|
||
|
OutputStream & flush
|
|||
|---|---|---|---|
|
#18+
NewBitБолее того, при вызове его он действительно сбрасывает буфер ....не может такво быть это вы из-за этого полиморфизма не заметили, что вызываете флаш у объекта другогого класса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2006, 16:50 |
|
||
|
OutputStream & flush
|
|||
|---|---|---|---|
|
#18+
далайвсмысле, что это фактически абстрактный метод, но его не сделали абстрактным, а сделали пустым, чтобы тем наследникам, которым нечего флашить, не приходилось его описывать лишний раз. я так думаю. Т.е. если я Вас правильно понял те наследники OutputStream, которым есть что флашить, при переопределении этого метода добавляют пута логику сброса буфера ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2006, 17:22 |
|
||
|
OutputStream & flush
|
|||
|---|---|---|---|
|
#18+
Дело в том, что рассматривая работу сокетов, в частности стандратный вызов: socket.getOutputStream(): OutputStream (socket - объект класса Socket) я в итоге вижу такой код - здесь детали опущены (взят из java.net.Socket и далее по ссылкам) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. класс SocketOutputStream расширяет FileOutputStream и метод flash не переопределяет. класс FileOutputStream расширяет OutputStream и снова этот метод не переопределяет ! Т.е в итоге имеем что flush - ничего не сбрасывает. Хотя реально - буфер сбрасыватся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2006, 17:57 |
|
||
|
OutputStream & flush
|
|||
|---|---|---|---|
|
#18+
вы что, исходники смотрите? не, я не настолько умный. а ведь там ведь в конце концов нативная часть должна быть. вы ее тоже смотрите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2006, 18:04 |
|
||
|
OutputStream & flush
|
|||
|---|---|---|---|
|
#18+
далайвы что, исходники смотрите? не, я не настолько умный. а ведь там ведь в конце концов нативная часть должна быть. вы ее тоже смотрите? Нет я не настолько умный, что б смотреть еще и нативную часть ;-) Хотя, если б она там была - я б на этом остановился ;-) Но я не нашел для flush нативной ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2006, 18:15 |
|
||
|
OutputStream & flush
|
|||
|---|---|---|---|
|
#18+
во! надо пойти и спросить у Гослинга : а как тудыть начинка-то попадаить? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2006, 18:18 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=742&tid=2149894]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
322ms |
get topic data: |
14ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 213ms |
| total: | 629ms |

| 0 / 0 |
