Manipulando entrada e saída padrão de um processo

Boa tarde a todos,

Estou desenvolvendo um programa que manipula um processo que é executado pela seguinte linha:

Process p = Runtime.getRuntime().exec("comando");

// Capturo a entrada e saída padrão pelas seguintes linhas:

BufferedInputStream bIn = new BufferedInputStream(p.getInputStream());
BufferedOutputStream bOut = new BufferedOutputStream(p.getOutputStream());

Preciso escrever na saída do processo da seguinte maneira:

  • Executo o a linha Process p = Runtime.getRuntime().exec(“comando”); , depois o programa(processo) pede mais dados, como por exemplo:

Programa: comando

Digite a senha:

Confirme a senha:

Não estou conseguindo fazer isso. Já tentei usar:

byte[] data = {0x01, 0x02, 0x03, 0x04}; // Exemplo de dados a serem enviados ao processo
int dados = bIn.read(data); // Retorna -1 se o vetor não conter nada

if (dados != -1) {
    bOut.write(data); // Tentei também bOut.write(data, 0, data.length)
}

Alguém tem alguma sugestão de como eu posso resolver este problema ?

Desde já agradeço =D