Necesito copiar un archivo de texto de un servidor a otro (ambos servidores son Linux). ¿Cómo hago eso en Java?Copie el archivo de un servidor a otro
Respuesta
easist si usted es capaz de utilizar apache commons-io: la clase FileUtils
tiene métodos convenientes para copiar archivos:
FileUtils.copyFileToDirectory(srcFile, targetDirectory);
(como usted habló de texto archivos Asumo, su aplicación tiene acceso a ambos archivos sistemas)
¿Requeriría que el servidor A tenga un directorio del servidor B montado localmente? – aioobe
Supongo que sí. La pregunta es algo vaga: generalmente tiene una interfaz determinada (sistema de archivos, ftp, servicio web, ...) y busca ayuda para implementarla/usarla con un lenguaje de programación dado (aquí: Java) ... –
Buena respuesta (+1) –
Si necesita copiar archivos desde sistemas de archivos accesibles vaya con Andreas' answer.
Si desea un enfoque general que resuma del protocolo que se encuentra debajo, consulte Apache Commons VFS. Proporciona una API común para los recursos disponibles a través a number of protocols:
- FTP
- archivos locales
- HTTP y HTTPS
- SFTP
- archivos temporales
- Zip, tarro y alquitrán (sin comprimir, TGZ o tbz2)
- gzip y bzip2
- res
- carnero
- mimo
Casi todas las máquinas Linux va a tener servidor SSH corriendo por defecto. Entonces, SCP sería su mejor opción para copiar archivos entre ellos.
Utilice una biblioteca SSH como JSCH para hacer esto. Encontrará un tutorial para hacer una transferencia SCP usando JSCH here.
Si va con FTP, puede usar el FTPClient de Apache commons/net.
Éstos son algunos ejemplos de códigos para su referencia:
FTPClient client = new FTPClient();
client.connect(host);
if(FTPReply.isPositiveCompletion(client.getReplyCode())) {
if(client.login(username, password)) {
FileInputStream fis = new FileInputStream(localFilepath);
try {
if(client.storeFile(remoteFilename, fis)) {
System.out.println("File uploaded!");
}
}
finally {
fis.close();
}
}
}
Si desea una manera fácil y su servidor soporta PHP, recomiendo el Rapid Transfer Script.
sólo subir el script en el directorio que desea copiar el archivo, introduzca la dirección URL del archivo que desea copiar y haga clic en Transferencia . Copió un archivo de 1,4 GB en menos de 2 minutos y me ahorró mucho tiempo y ancho de banda.
He utilizado commons net FTP para transferir archivos de un servidor a otro.
Maven Dependencia:
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.3</version>
</dependency>
Java:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
public void tranferFile() {
FTPClient ftpClient = new FTPClient();
try {
ftpClient.connect(servername, port);
ftpClient.login(username, password);
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
File sourceFile = new File("file which you want to send");
InputStream inputStream = new FileInputStream(sourceFile);
boolean done = ftpClient.storeFile("filename which receiver get", inputStream);
inputStream.close();
if (done) {
LOGGER.info("file is uploaded successfully..............");
}
} catch (IOException e) {
LOGGER.error("Exception occured while ftp : "+e);
} finally {
try {
if (ftpClient.isConnected()) {
ftpClient.logout();
ftpClient.disconnect();
}
} catch (IOException e) {
LOGGER.error("Exception occured while ftp logout/disconnect : "+e);
}
}
}
- 1. Copie de un archivo xml a otro - powershell
- 2. ¿Cómo copio un archivo de un servidor a otro?
- 3. Copie solo ciertas revisiones SVN de un repositorio a otro
- 4. Copie el archivo a un directorio diferente
- 5. Copie el índice de un PDF a otro
- 6. Copie el archivo (s) de un proyecto a otro utilizando el evento de compilación posterior ... VS2010
- 7. Copie elementos de NSMutableArray a otro
- 8. Amazon S3 copie el directorio a otro directorio
- 9. Copie CGContext en otro CGContext
- 10. TFS: Pasar de un servidor a otro
- 11. ¿Insertar datos de un servidor a otro?
- 12. Java - Copie el archivo a otro directorio usando FileUtils y copyFileToDirectory - no funciona -?
- 13. ¿Cómo esperar a que se copie por completo un archivo?
- 14. Copie el archivo de forma remota con Powershell
- 15. Copie un archivo de una carpeta a otra utilizando vbscripting
- 16. Copie el archivo a la carpeta de activos
- 17. Subir archivo con php a otro servidor php
- 18. Copie el archivo PDF a la biblioteca de iBooks
- 19. ¿Transfiere MongoDB a otro servidor?
- 20. Copie la imagen del servidor remoto a través de HTTP
- 21. Migración de un servidor MySQL de un cuadro a otro
- 22. incluyendo el archivo php de otro servidor con php
- 23. Copie un archivo en Ruby on Rails
- 24. Mover RavenDb a otro servidor
- 25. mover el trabajo de Hudson a otro servidor
- 26. Applescript Copie el archivo a una nueva carpeta
- 27. Copie un archivo con sus permisos originales
- 28. Windows Batch Copie el archivo por nombre de archivo
- 29. ¿Puede ReSharper generar código que copie propiedades de un objeto a otro?
- 30. Migración de certificados SSL de un servidor a otro
tipo de servidor? , ¿puede el servidor B acceder al archivo del servidor A usando HTTP? –
¿Se puede usar FTP?¿Sus servidores están en la misma red? ¿Estás usando un sistema de archivos compartidos? ¿Puedes implementar un servlet? Creo que necesitaríamos más antecedentes para responder. –
* Puedes * usar [scp] (http://www.go2linux.org/scp-linux-command-line-copy-files-over-ssh), pero supongo que lo harás tú mismo, ¿no? – Patrick