Erro ao copiar arquivo

0 respostas
J

Na seguinte rotina de download, depois de aparecer a tela salvar como,
está gravando o conteúdo do arquivo vazio.

try 
{ 
    String origem = "http://127.0.0.1:8080/teste/arquivo.txt"; 
    //neste exemplo estou utilizando endereço fixo 
    byte[] cache; 

    URL urlo = new URL(origem); 
    URLConnection urlCo = urlo.openConnection(); 
    UrlCo.setDoInput(true);
    UrlCo.setDoOutput(true);            

    InputStream in = urlo.openStream(); 
    ServletOutputStream out = response.getOutputStream(); 

    int lengthFile = in.available(); 
    cache = new byte[4096]; 

    response.setContentLength(lengthFile); 
    response.setContentType("text/text"); 
    response.setHeader("Content-Disposition", "attachment;filename=" + "novo.txt"); 
    response.setIntHeader("Content-length",lengthFile); 
    int tamanho; 
    while((tamanho = in.read(cache)) != -1) 
    { 
        out.write(cache,0,tamanho); 
        out.flush(); 
    } 
    in.close(); 
    out.close(); 
} 
catch(Exception ex) 
{ 
    ex.printStackTrace(); 
}

Se ao invés de :

InputStream in = urlo.openStream();//caminho variável

Utilizo a seguinte sintaxe:

InputStream in = new FileInputStream(“c:/arquivo.txt”);//caminho fixo

Dá certo.

Porque quando utilizo:
InputStream in = urlo.openStream();//caminho variável
o conteúdo do stream vai vazio.

Criado 26 de dezembro de 2003
Respostas 0
Participantes 1