valew elvis... depois de ter lido umas 500 vezes o doc do metodo
write(byte[] buff, int offset, int length)  e o equivalente "read", eu
entendi o funcionamento... acontece q eu tava fazendo o read(), passava
offset = 0, mas o length eu colocava o tamanho do buffer! entao o q
acontecia eh q o algoritmo do InputStream vai lendo os bytes ateh preencher
todo o buff[], ou seja, se tiver um byte soh o arquivo, e eu disser q o
length eh 4096, ele vai repetir esse unico byte 4096 vezes... :)...
lusitanisse desgraçada essa...  maldito java.io :D
tambem nao tinha sacado q o metodo read retornava quantos bytes ele leu, pra
depois escrever...
mas tah tudo certo agora... consultei a oreilly lah e axei um algoritmo
basico pra fazer isso:

synchronized(input) {
    synchronized(output) {
        byte[] buff = new byte[4096];
        int bytesLidos = 0;
        while(true) {
            bytesLidos = input.read(buff);
            if(bytesLidos == -1) break;
            output.write(buff, 0, bytesLidos);
        }
    }
}

flw :)

----- Original Message -----
From: "Elvis" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, October 23, 2002 3:46 PM
Subject: Re: [java-list] I/O


> Bruno,
>
> Tudo é uma questão de como vc está escrevendo o código!
>
> Tente isso!!!
>
> class Teste{
>  public static void main(String[] args) throws Exception{
>   FileInputStream i = new FileInputStream(args[0]);
>   FileOutputStream o = new FileOutputStream(args[1]);
>   int x = -1;
>   int tamanhoBuffer = 4096;
>   byte[] arr = new byte[tamanhoBuffer];
>
>   while ((x = i.read(arr))!= -1){
>    o.write(arr, 0, x);
>   }
>  }
> }
>
> Testei o tam do buffer com 1KB, 4KB, 1MB; nenhum problema (utilzando esse
> código!!!).
> copiei arquivos exe e zip para testar e executaram numa boa!!!
>
> O problema pode está no algoritimo q vc está usando.
> Cuidado com metódos lusitanos de programar(frase sua!)
>
> Obs.: ao usar passe o arquivo a ser copiado primeiro, para nao fazer
nenhuma
> besteira na maquina.
>
> Espero ter ajudado.
>
> []'s
>
> Elvis
>
>
> ----- Original Message -----
> From: "Bruno Borges" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Wednesday, October 23, 2002 8:41 AM
> Subject: [java-list] I/O
>
>
> > com o seguinte comando to copiando um inputstream para um arquivo com u
> nome
> > informado no parametro...
> > soh q como o buffersize tah pra 4KB, ele tah duplicando os dados do
> arquivo
> > no novo arquivo!... alguem pode ajudar a resolver isso?
> >
> > soh preciso de um algoritmo q le um inputstream e vai escrevendo num
> > fileoutputstream... soh nao vale ser byte a byte... ;D jah fiz isso e o
> > arkivo novo ficou danificado...
> >
> > _.~._.~._.~._.~._.~._.~._.~._.~._
> > Programador Java Junior, 19 anos.
> > _.~._.~._.~._.~._.~._.~._.~._.~._
> > Email: [EMAIL PROTECTED]
> > #UIN: 8584744
> >
> > _______________________________________________________________________
> > Yahoo! Encontros
> > O lugar certo para encontrar a sua alma gêmea.
> > http://br.encontros.yahoo.com/
> >
> > ------------------------------ LISTA
SOUJAVA ----------------------------
> > http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
> > dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> > regras da lista: http://www.soujava.org.br/regras.htm
> > historico: http://www.mail-archive.com/java-list%40soujava.org.br
> > para sair da lista: envie email para
[EMAIL PROTECTED]
>
> -------------------------------------------------------------------------
>
>
> ------------------------------ LISTA SOUJAVA ----------------------------
> http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> historico: http://www.mail-archive.com/java-list%40soujava.org.br
> para sair da lista: envie email para [EMAIL PROTECTED]
> -------------------------------------------------------------------------

_______________________________________________________________________
Yahoo! GeoCities
Tudo para criar o seu site: ferramentas fáceis de usar, espaço de sobra e acessórios.
http://br.geocities.yahoo.com/

------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a