FileInputStream para matriz de bytes no aplicativo Android

Eu tenho um FileInputStream criado usandoContext.openFileInput(). Agora eu quero converter o arquivo em uma matriz de bytes.

Infelizmente, não consigo determinar o tamanho da matriz de bytes necessária paraFileInputStream.read(byte[]). Oavailable() método @ não funciona e não consigo criar um arquivo para verificar seu tamanho usando o nome do caminho específico, provavelmente porque o caminho está inacessível para usuários não-roo

Eu leio sobreByteArrayOutputStream e parece ajustar dinamicamente o tamanho da matriz de bytes para caber, mas não consigo entender como ler a partir deFileInputStream para escrever noByteArrayOutputStream.

questionAnswers(4)

yourAnswerToTheQuestion