Eu estou construido uma aplicação com sockets que eu precisaria serailizar arquivos .Eu sei como
fazer pensei em serializar um objeto FileWriter mas infelizemente o javac não permite.
Serializei um objeto file no servidor e depois instanciei um objeto FileWriter no cliente salvando o
o arquivo no diretorio
Socket cliente= new Socket("localhost",5000);
ObjectOutputStream saida = new ObjectOutputStream(cliente.getOutputStream());
ObjectInputStream entrada = new ObjectInputStream(cliente.getInputStream());
File arquivo = (File) entrada.readObject();
FileWriter out=new FileWriter(arquivo.getAbsolutePath());
out.write("C:/");
Deu certo mas porém o arquivo não abre mais o WM pede um codec para abri-lo, e em rede acho que isso não dará certo.
Agradeço qualquer sugestão.
Deu certo porcaria nenhuma. Veja qual é o tamanho do arquivo que você gerou: tem 4 bytes, não?
O que você pode serializar é um array de bytes.
Se você insistir em usar um ObjectOutputStream encapsulado em um Socket (que dá 1001 problemas - um colega nosso foi demitido por causa disso, porque ele insistiu em usar isso, teve um monte de problemas depois, e não sabia consertar - ele foi demitido porque não sabia consertar e insistia que estava tudo certo),
então você precisa carregar o array inteiro na memória (5MB OK, 100 MB = problemas), e então serializar esse array de bytes.
Aham, calculei errado o tamanho. Deve ter 3 bytes ![:stuck_out_tongue: :stuck_out_tongue:](https://www.guj.com.br/images/emoji/twitter/stuck_out_tongue.png?v=9)
Vc poderia me explicar então como serializar um arquivo de 50 mb e escrever socket e salvar no
diretorio do cliente.Eu não entendo como a FileWriter
não pode ser serializada.
Agradeço qualquer sugestão.
Eu não sei por que mais eu tenho impressão que fazer
igualzinho a upload pacotes de 1024kb um a um.
Por favor qualquer sugestão e válida
Sera que vou ter sofrer implementado upload com swing.