可以将文件从URL(http:// ... .exe / .zip ...)直接传输到Java 7中的ftp服务器(带有一些额外的库,例如来自Apache?
答案 0 :(得分:1)
通过标准API类java.net.URL
支持HTTP和至少有限的FTP支持。您只能限制访问特定的FTP功能,例如设置传输模式,但在大多数情况下它可以正常工作。
如果添加Apache Commons IO,可以使用IOUtils
类直接从HTTP服务器复制到FTP服务器:
InputStream in = new URL("http://host/path").openStream();
OutputStream out =
new URL("ftp://user:pass@host/path").openConnection().getOutputStream();
IOUtils.copy(in, out);
in.close();
out.close();
如果您不想在Commons IO上添加依赖项,则只需编写几行来复制数据,而无需第三方库支持:
byte[] buffer = new byte[16384];
int r = 0;
while ((r=in.read(buffer))>=0) {
out.write(buffer, 0, r);
}
答案 1 :(得分:0)
我不相信一般可以指示Web服务器将文件直接上传到FTP服务器,但是编写程序可以自行下载文件,然后将其上传到FTP服务器。 / p>