Download de executaveis no java

Bom dia

Estou tentando baixar um executavel usando HttpURLConnection, mas sempre que o arquivos é baixado ele esta corrompido.
Alguem conhece alguma forma de baixar executaveis com o java sem o conteudo do Exe ser alterado ?

Obrigado

o que você usa além do InputStreamReader ?!

Estou usando o seguinte codigo para ler o arquivo

StringBuffer fileData;

    URL url = new URL(Url);
    
    HttpURLConnection sslCon;
    
    sslCon = (HttpURLConnection)url.openConnection();

    InputStream buffer = sslCon.getInputStream();
    
    char [] tmp = new char[sslCon.getContentLength()+64];

    int dtByte;
    int length = 0;
    while( (dtByte = buffer.read()) != -1)  tmp[length++] = (char)dtByte;

    fileData = new StringBuffer(sslCon.getContentLength()+64);
    fileData.append(tmp,0,length);

    tmp = null;
    length = 0;
    
    return fileData.toString();

Err…Por que você está usando um String Buffer em vez de tratar tudo como binário?

Lembre-se que Strings não são para guardar imagens de arquivos.

Esse foi um codigo que eu achei na internet, seria possivel adaptar para nã usar Strings ?