Рассмотрите следующий фрагмент кода getInputStreamForRead()
метод создает и возвращает новый поток ввода для чтения.Повторное использование переменной входного потока
InputStream is = getInputStreamForRead(); //This method creates and returns an input stream for file read
is = getDecompressedStream(is);
Поскольку исходное содержимое файла сжимается и сохраняется, его необходимо разжать при чтении. Поэтому getDecompressedStream()
ниже метод даст возможность распаковывать потока контента
public InputStream getDecompressedStream(InputStream is) throws Exception {
return new GZIPInputStream(is);
}
имеют следующие сомнения
Какой из них правильный для приведенного выше фрагмента кода
is = getDecompressedStream(is)
или
InputStream newStream = getDecompressedStream(is)
Повторное использование переменной
InputStream
приведет к возникновению каких-либо проблем?
Я совершенно новый с потоками. Пожалуйста, помогите мне узнать об этом.
Я считаю, что входной поток - это еще один объект, и он будет переназначен новым значением. 1 должно быть нормально. – SomeDude
Вы можете протестировать это самостоятельно, попробовав его. Но они оба сделают то же самое. Оба являются допустимыми параметрами – Adam
Могу ли я предположить/понять как экземпляр потока, похожий на экземпляр класса? Или экземпляр потока имеет какие-то исключения? – lsof