Oracle documentation говорит:Выполняет ли FilterOutpuStream запись нормально или нет?
записи (байт [] Ь, Int Off, Int длина) бросает IOException
Запись LEN байт из заданного массива байтов, начиная со смещения от на этот выходной поток. Метод write FilterOutputStream вызывает метод записи одного аргумента для каждого байта для вывода.
Следует отметить, что этот метод не вызывает метод записи его основной входного потокас теми же аргументами. Подклассы FilterOutputStream должны обеспечить более эффективную реализацию этого метода.
У меня есть два вопроса:
- На this страницы я нашел код, который использует
FilterOutputStream
для украшенияFileOutputStream
, и записывает обычный вывод в файл. ПочемуFilterOutputStream
вызывает метод базового потока по каждому байту, когда он способен вызывать такую же перегрузку в базовом потоке и быстрее выполнять операцию? - Почему базовый поток ввод поток?
Спасибо.
Спасибо. Еще один необязательный вопрос: нужно ли мне переводить 'super()' в собственные переопределения этого метода? – user35443
@ user35443: из 'write (byte [], int, int)'? Абсолютно нет - это приведет к дублированию данных, предполагая, что вы тоже *, а затем обрабатываете данные самостоятельно в своем переопределении. –
Спасибо большое! ... – user35443