Socket - Enviando arquivos

3 respostas
R

Estou com um problema para trabalhar com socket… preciso enviar arquivos de n formatos através de uma porta via socket, e estou prosseguindo da seguinte forma:

BufferedReader in = new BufferedReader(new FileReader( new File("texte.pdf") ));

Socket socket = new Socket("localhost", 3489);
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));

String str = ""
while(str = in.readLine()){
	wr.write(str);
}

wr.close();
socket.close();

Esse procedimento até funciona, porem nao consigo recuperar o nome do arquivo… alguem tem uma ideia ?
Obrigado.

3 Respostas

T

a) Você precisa enviar o nome do arquivo primeiro.

b) Como é que o .pdf não está chegando estragado no outro lado? Pelo código que você escreveu a probabilidade de ele chegar estragado (a menos que o PDF seja em formato texto, coisa muito rara de encontrar) é 100%. É que usar “reader” e “writer” e considerar arquivos binários como Strings é fatal - vai corromper o arquivo.

R

Como vc aconselha fazer ?

***** Editado *****
Achei um artigo que pode me ajudar eu acho
Mesmo assim muito obrigado.
http://www.adp-gmbh.ch/blog/2004/november/15.html

R

thingol:

a) Você precisa enviar o nome do arquivo primeiro.

b) Como é que o .pdf não está chegando estragado no outro lado?

a) Ja consegui fazer, facil
b) Como vc disse, estou com problemas, so consigo abrir arquivos do tipo texto. Arquivos do tipo gif, jpg, zip ficam corrompidos na hora abrir !

Alguma solução ?

Criado 4 de dezembro de 2006
Ultima resposta 4 de dez. de 2006
Respostas 3
Participantes 2