Trabajar con los ficheros del disco en Java es muy sencillo realmente, y como saben ya al ser multiplataforma un único código funcionará para cualquier sistema operativo que estemos usando.
Con el código que veremos podremos copiar los ficheros o archivos que querramos incluso, directorios completos, véanlo son muy pocas líneas.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | import java.io.*; public static void CopiarDirectorio(File dirOrigen, File dirDestino) throws Exception { try { if (dirOrigen.isDirectory()) { if (!dirDestino.exists()) dirDestino.mkdir(); String[] hijos = dirOrigen.list(); for (int i=0; i < hijos.length; i++) { CopiarDirectorio(new File(dirOrigen, hijos[i]), new File(dirDestino, hijos[i])); } // end for } else { Copiar(dirOrigen, dirDestino); } // end if } catch (Exception e) { throw e; } // end try } // end CopiarDirectorio public static void Copiar(File dirOrigen, File dirDestino) throws Exception { InputStream in = new FileInputStream(dirOrigen); OutputStream out = new FileOutputStream(dirDestino); byte[] buffer = new byte[1024]; int len; try { // recorrer el array de bytes y recomponerlo while ((len = in.read(buffer)) > 0) { out.write(buffer, 0, len); } // end while out.flush(); } catch (Exception e) { throw e; } finally { in.close(); out.close(); } // end ty } // end Copiar public static void Copiar(String dirOrigen, String dirDestino) throws Exception { InputStream in = new FileInputStream(dirOrigen); OutputStream out = new FileOutputStream(dirDestino); byte[] buffer = new byte[1024]; int len; try { // recorrer el array de bytes y recomponerlo while ((len = in.read(buffer)) > 0) { out.write(buffer, 0, len); } // end while out.flush(); } catch (Exception e) { throw e; } finally { in.close(); out.close(); } // end ty } // end Copiar |








en
en
en
Hola, estoy haciendo dos aplicaciones(una Cliente y la otra servidor). Y necesito almacenar documetos en el servidor. los documentos me los provee el cliente, pero no se como copiarlos o transferirlos hacia el servidor. provee el codigo que pones pero me sirve cuando el cliente y el servidor estan en la misma PC. Necesito si pueden que me ayuden en esto.
Saludos y gracias de antemano
Hola Julio, es cierto es codigo está pensado para copiar en la maquina local. Lo que quieres hacer necesita otros participantes, como una red con carpetas compartidas, o servidor ftp/sftp con acceso remoto.
Una vez que lo configures bien, puedes apoyarte en este codigo para explotarlo:
http://www.devtroce.com/2009/12/09/transferir-ficheros-con-por-sftp-con-java/
Muy valioso el aporte, de verdad son muy pocas lineas de codigo