Help! Ler bytes de um InputStream e gravar em arquivo
5 respostas
L
laosapiensPJ
Alguem tem alguma idéia de como fazer isso? Eu estou procurando alguns métodos mas não acho. Por exemplo, eu não sei o que vem da rede, eu estou querendo ler bytes e gravar bytes em arquivo.
Com o available eu vejo a quantidade de bytes para ler…criei um FileWriter encapsulado em um BufferedWriter, mas o buffered writer não tem método para escrever bytes =/
Desse jeito quando dou write do outro lado ta tudo em branco o arquivo =/
J
jaireltonPJ
O seu primeiro código eu não entendi...da onde ele pega o bytes?? Na primeira linha não ta fazendo nada...
Eu estou supondo que você já leu eles de algum lugar, e tem um array de bytes pra escrever no arquivo.... mas vai o codigo completo então...
InputStreamin=newFileInputStream("C:/original.gif");OutputStreamout=newFileOutputStream("C:/copia.gif");byte[] buffer = new byte[1024];while(in.read(buffer)>0){out.write(buffer);}out.close();in.close();
publicvoidconectar(){if(netSocket==null){try{//File f = new File("C:"+File.separator+"arqcomp.txt");//FileReader fr = new FileReader(f);ia=InetAddress.getLocalHost();netSocket=newSocket(host,port/*,ia,2000*/);netSocket.setSoTimeout(1);br=newBufferedReader(newInputStreamReader(netSocket.getInputStream()));os=netSocket.getOutputStream();byteba[]=String.valueOf(netSocket.getLocalPort()).getBytes();os.write(ba);os.flush();//pw.println("Teste de Envio de mensagem de "+netSocket.getLocalAddress()+":"+netSocket.getLocalPort());//pw.flush(); closeAll();}
Ta escrevendo o arquivo sem NADA =(
L
laosapiensPJ
Opa, funcionou…mas ele ta botando um espaço gigantesco quando mando escrever 2x seguidas =/