Java - cliente de transferência de arquivos-servidor

[Java] Cliente-Servidor de Transferência de Arquivos

Questão

Como parte de um aplicativo da Web em Java, eu preciso, por meio de um formulário, que os usuários possam enviar arquivos (qualquer tipo: pasta de trabalho do Excel, imagem ...) para o servidor e os últimos sejam registrados no diretório do aplicativo.

Meu problema agora é que os arquivos não estão totalmente restaurados (bem, eu acho que estão, mas eu tenho um problema com a escrita), eu explico: quando eu carrego o arquivo "Blabla. Txt", cujo conteúdo é "Olá, somos quinta-feira, 16 de julho de 2009 e o céu está ensolarado. ", Então o arquivo salvo no servidor é:" Blabla.txt "com conteúdo:" oju, nu ntl tl 6Jilt20 ileteslil. "Pode ser observado focando neste absurdo que uma carta foi escrita apenas dois. No caso de uma imagem, não posso fazer o teste porque você não pode visualizá-lo depois de ter tomado essa rota.

Essa descoberta me faz pensar que isso é um problema de codificação, mas como não sei de nada ... não tenho certeza.

Em suma, aqui está o meu código:

 boolean isMultipart FileUpload.isMultipartContent = (request); DiskFileUpload DiskFileUpload upload = new (); Listar itens = nulo; tente {upload.parseRequest items = (request); } Captura (FileUploadException e) {} String fileName = ((FileItem) items.get (0)). GetName (); fileName = nomFichier.substring (nomFichier.lastIndexOf ("\ \") +1); Feito InputStream = null; did = (InputStream) ((FileItem) items.get (0)). getInputStream (); FileOutputStream fos = new FileOutputStream (novo arquivo ("MyFolder /" + nome_do_arquivo)); while (fis.read ()! = -1) {fos.write (fis.read ()); } fos.close (); fis.close (); No JSP, o formulário codifica multipartes: 

Então, aqui, depois de muita pesquisa para chegar a este ponto, desta vez estou morto e minha pesquisa não desbloqueio.

Se isso te inspira, por favor me dê conselhos e se eu estiver errado sobre o método e houver muito mais fácil, não hesite! Obrigado por ler e bom dia.

Solução

Ok, percebi logo após postar esta mensagem:

Eu faço um fis.read duplo (), tão normal que eu pulei caracteres ...

Estou tão envergonhada, mas deixo esta mensagem se puder ajudar alguns. :)

Isso corrigiu a música (apenas o loop condicional):

 int fisread fis.read = (); while (fisread! = -1) {fos.write (fisread); fisread fis.read = (); } 

Nota

Resolvido por Asefthu

Artigo Anterior Próximo Artigo

Principais Dicas