Встречается на собеседованиях • сегодня
В чем разница между FileInputStream и ByteArrayInputStream
FileInputStream и ByteArrayInputStream — оба наследники InputStream, но работают с разными источниками данных:
-
Источник данных
FileInputStreamчитает данные из файла в файловой системе.ByteArrayInputStreamчитает данные из массива байтов (byte[]) в памяти.
-
Производительность
FileInputStreamзависит от скорости чтения с диска (медленнее).ByteArrayInputStreamработает с данными в памяти (быстрее).
- Пример использования
java
// FileInputStream
try (InputStream fis = new FileInputStream("file.txt")) {
int data;
while ((data = fis.read()) != -1) {
System.out.print((char) data);
}
}
// ByteArrayInputStream
byte[] bytes = {72, 101, 108, 108, 111};
try (InputStream bais = new ByteArrayInputStream(bytes)) {
int data;
while ((data = bais.read()) != -1) {
System.out.print((char) data);
}
}Когда использовать:
FileInputStream— для работы с файлами.ByteArrayInputStream— для обработки данных, уже находящихся в памяти (например, полученных из сети).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы