Tranf de arquivo via socket

Pessoal estou fazendo um aplicativo cliente servidor para transferência de arquivos. ok

A parte do servidor me parece ok, contudo quando verifico no cliente se o arquivo foi copiado no diretório especificado no FileOutputStream, o arquivo está lá mas está zerado.

Meu servidor está assim:

DataInputStream obteste= new DataInputStream(new FileInputStream (arquivo));

DataOutputStream obtesteSaida=new DataOutputStream (conex.getOutputStream());

buffer=new byte[obteste.available()]; 
                                        
while (obteste.read(buffer)!= -1)
      obtesteSaida.write(buffer,0,buffer.length);

Já no cliente onde estou patinando pra caramba está assim:

obSaida=new DataOutputStream (new FileOutputStream(“C:\Leandro\PUBLICO\CLIFTP\”+ campo.getText()));

obEntrada=new DataInputStream(cliente.getInputStream());

bufferc=new byte[obEntrada.available()];

while (obEntrada.read()!=-1) obsaida.write(bufferc);

Se alguém puder me ajudar agradeço demais mesmo. ok

Abs.

Leandro.

Utilize essa lógica para enviar o arquivo, me parece mais correta:

byte[] cache = new byte[10240]; int size = 0; while ((size = in.read(cache)) > -1) { out.write(cache, 0, size); }

Utilize mensagens do tipo System.out durante a fase de desenvolvimento para verificar se os loops estão sendo executados.

ps. Utilize as tags ‘code’ nos códigos para que seu post fique mais legível.

Volnei funcionou .

Valeu mesmo.

Abs.

Leandro.