当前位置: 首页 > 面试题库 >

如何将文件上传到FTP服务器?

欧阳正德
2023-03-14
问题内容

我创建了一个从有权访问的FTP服务器下载文件的功能。如何将文件上传回FTP服务器?

以下是我使用的download_files方法:

public static void download_files(String un, String pw, String ip, String dir, String fn, String fp){

    URLConnection con;
    BufferedInputStream in = null;
    FileOutputStream out = null;

    try{
        URL url = new URL("ftp://"+un+":"+pw+"@"+ip+"/"+dir+"/"+fn+";type=i");
        con = url.openConnection();
        in = new BufferedInputStream(con.getInputStream());
        out = new FileOutputStream(fp+fn);

        int i = 0;
        byte[] bytesIn = new byte[1024];

        while ((i = in.read(bytesIn)) >= 0) {
            out.write(bytesIn, 0, i);
        }

    }catch(Exception e){
        System.out.print(e);
        e.printStackTrace();
        System.out.println("Error while FTP'ing "+fn);
    }finally{
        try{
            out.close();
            in.close();
        }catch(IOException e){
            e.printStackTrace();
            System.out.println("Error while closing FTP connection");
        }
    }
}

问题答案:

使用Apache Commons Net库中的FTPClient类。

这是一个带有示例的代码段:

FTPClient client = new FTPClient();
FileInputStream fis = null;

try {
    client.connect("ftp.domain.com");
    client.login("admin", "secret");

    //
    // Create an InputStream of the file to be uploaded
    //
    String filename = "Touch.dat";
    fis = new FileInputStream(filename);

    //
    // Store file to server
    //
    client.storeFile(filename, fis);
    client.logout();
} catch (IOException e) {
    e.printStackTrace();
} finally {
    try {
        if (fis != null) {
            fis.close();
        }
        client.disconnect();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

摘录自http://www.kodejava.org/examples/356.html



 类似资料:
  • 问题内容: 是否可以使用ajax将文件从浏览器升级到FTP服务器? 问题答案: 不会。浏览器不提供允许从JavaScript写入FTP的API。 您可以将文件发布到HTTP端点,然后使用服务器端代码将其推送到FTP服务器。

  • 本文向大家介绍java实现将文件上传到ftp服务器的方法,包括了java实现将文件上传到ftp服务器的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了java实现将文件上传到ftp服务器的方法。分享给大家供大家参考,具体如下: 工具类: 读取配置文件: 将文件上传ftp: 更多关于java相关内容感兴趣的读者可查看本站专题:《Java文件与目录操作技巧汇总》、《Java数据结构与算法教

  • 本文向大家介绍如何在windows桌面使用ftp上传文件到linux服务器,包括了如何在windows桌面使用ftp上传文件到linux服务器的使用技巧和注意事项,需要的朋友参考一下 首先在linux服务器上安装ftp 然后就可以测试了~~ 匿名新建文件,重命名和删除都可以了 如果出现550的报错,代表的是服务端的权限设置有问题,553的话就是配置文件有问题 附录:/etc/vsftpd/vsft

  • 我正在尝试将文件上载到FTP服务器 正如我在这里发现的,如何将文件上传到FTP服务器?,我有以下代码:

  • 我正在从特定文件夹获取音频文件,并将其绑定到RecyclerView上。现在我想要每个文件的Uri,这样我就可以逐个上传它们。我正在使用光标获取文件。下面是我的代码: 在contentUri中,我得到了以下内容(内容://media/external/audio/media/0)。我想要的是内容://com.android.providers.media.documents/document/xy

  • 我们需要将csv文件从GCP云存储传输到ftp服务器,我们如何实现这一点? 我们可以用bigquery工具将这些文件直接传输到ftp吗? 或者我们需要用服务下载它,然后上传到ftp吗?