Java:Pegando dados da saida

Existe uma maneira de o Java executar uma batch ou shell e conseguirmos os dados da saída para conferirmos o resultado.

import java.io.*; public class DadosSaida{ public static void main( String arguments[] )throws Exception{ int valor; // Nome da bat ou shell a ser executado String cmd = "C:/chamaFTP.bat"; Process process = Runtime.getRuntime.exec( cmd); // Pega a saída do console para o bufferOut StringBuffer bufferOut  =   new StringBuffer; while ( ( valor = process.getInputStream ) != -1  ){ bufferOut.append( String.valueOf( (char)valor) ); }        } }