如何将下载的文件保存到另一台服务器

时间:2015-11-30 12:49:12

标签: java scala

大多数情况下,我使用new URL(downURL) #> new File("D:/MyFiles")!!从文件的给定下载URL下载文件,并将文件保存到我的计算机上的D:/MyFiles。但不是在本地保存,而是希望存储此文件在我的服务器上,即192.168.1.22,同时下载。所以如何在上面的代码行中指定IP地址,以便将文件直接保存到特定的服务器。

2 个答案:

答案 0 :(得分:1)

正如聊天中所阐明的那样:只有通过NFS,Samba或其他技术使服务器的文件系统可以访问客户端,才能将您下载的内容存储到File中。

答案 1 :(得分:0)

您需要在服务器上打开一个可以发送数据的端口,可能是http(s),ftp或其他东西,以便您可以将数据传输到服务器。 如果使用http,则可以使用java.net.HttpURLConnection连接到服务器并打开OutputStream并将数据写入其中。

这是一个例子(我还没有测试过它):

public void writeDataToServer()
{
    URL downloadURL=new URL("example.com/example.pdf");
    URL serverIP=new URL("192.168.0.1");
    URLConnection downloadConnection=downloadURL.openConnection();
    URLConnection serverConnection=serverIP.openConnection();
    InputStream downloadStream=downloadConnection.getInputStream();
    OutputStream serverStream=serverConnection.getOutputStream();
    while((int r=downloadStream.read())!=-1)
    {
        serverStream.write(r);
    }
    downloadStream.close();
    serverStream.close();
}

您需要在此处捕获一些例外,并在打开服务器流之前指定要使用的HTTP方法。