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]
-------------------------------------------------------------------------