Transferência de arquivo

Galera, meu problema é o seguinte:
Eu tenho uma aplicação Offline e tem um formulário que o usuário tem a opção de anexar alguns arquivos. Após preenchimento o usuário sincroniza os dados com uma aplicação On-line. Eu estou tentando fazer um algoritmo que copie o arquivo e envie por stream para outro lugar. O arquivo ta indo só que quando chega no outro lugar eu nao consigo abrir. Tipo imagem nao fica disponivel vizualização, arquivos .doc aparecem uns caracteres fora do padrã(todo louco). O que poderia ser isso? Qnd dou breakpoint pra ver na hora que vai escrever os dados no novo arquivo…ele ja escreve errado. :frowning:
Ve se isso ta certo:

InputStream input2 = new FileInputStream(caminho);
byte[] buf = new byte[input2.available()];
input2.close();
output.writeObject(new AnexoSincronismo(new File(caminho).getName(),new String(buf)));

seria alguma coisa tipo padrao de codficacao?? tipo ansi, utf-8, unicode…
nao saco muito disso, mas espero ter dado uma luz…