Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Trasferimento tra due servrt FTP

10 views
Skip to first unread message

FabioCer

unread,
Feb 4, 2021, 2:45:29 PM2/4/21
to
sono alle prime armi...
riesco da programma a caricare files
da file system locale su un server FTP
e a scaricare files da un server FTP
a file system locale.
ora avrei la necessità di leggere un fle da un server FTP
e scriverlo (copiarlo, trasferirlo) su un altro server FTP
potrei scaricare il file in locale e poi caricarlo, ma
mi piacerebbe farlo in un'unica operazione con gli stream
ma non riesco a trovare la quadra...
qualche dritta?

Dr.UgoGagliardelli

unread,
Feb 5, 2021, 3:47:52 AM2/5/21
to
Utilizzando FtpClient (apache commons) dovrebbe essere abbastanza
semplice (non ci ho mai provato) nel senso che la classe FtpClient ha i
metodi:
public boolean retrieveFile(String nomeFile, OutputStream from);
e
public boolean storeFile(String nomeFile, InputStream to);

quindi se OutputStream from è di tipo ByteArrayOutputStream e'
abbastanza semplice:
FtpClient uno;
Ftpclient due;
...
ByteArrayOutputStream from = new ByteArrayOutputStream();
if (uno.retrieveFile("pippo", from)) {
ByteArrayInputStream to =
new ByteArrayInputStream (from.toByteArray());
if (due.storeFile("pluto', to))
System.out.printLn("fatto");
}

ovviamente ti dovrai gestire le eccezioni ed eventualmente gestirti le
risposte tramite ftp.getReplyCode() oppure getReplyString() e
getReplyStrings().
Ma guardati la documentazione che è meglio!
https://commons.apache.org/proper/commons-net/apidocs/org/apache/commons/net/ftp/FTPClient.html
0 new messages