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

加快Apache Commons FTPClient传输

闽经纬
2023-03-14
问题内容

我正在使用Apache Commons FTPClient上传大文件,但是传输速度只是使用WinSCP通过FTP传输速度的一小部分。如何加快转移速度?

    public boolean upload(String host, String user, String password, String directory, 
        String sourcePath, String filename) throws IOException{

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

    try {
        client.connect(host);
        client.login(user, password);
        client.setControlKeepAliveTimeout(500);

        logger.info("Uploading " + sourcePath);
        fis = new FileInputStream(sourcePath);

        //
        // Store file to server
        //
        client.changeWorkingDirectory(directory);
        client.setFileType(FTP.BINARY_FILE_TYPE);
        client.storeFile(filename, fis);
        client.logout();
        return true;
    } catch (IOException e) {
        logger.error( "Error uploading " + filename, e );
        throw e;
    } finally {
        try {
            if (fis != null) {
                fis.close();
            }
            client.disconnect();

        } catch (IOException e) {
            logger.error("Error!", e);
        }
    }         
}

问题答案:

增加缓冲区大小:

client.setBufferSize(1024000);


 类似资料:
  • 雷鸣快传是使用两行 Java 代码实现的文件上传工具。2分钟对接使用,从此无论本地存储、分布式存储、对象存储……都是完全一样的代码调用! 它赋予你各种存储随便切换随便用的能力,而无需动项目代码。 1. 快速使用 1.1. pom.xml 中加入: 如果你只是单纯本地用,用不到像是华为云OBS存储了、Springboot框架的,那你可以只使用 fileupload-core 这一个核心实现即可 <!

  • 百灵快传(B0Pass) LAN large file transfer tool。 基于Go语言的高性能 “手机电脑超大文件传输神器”、“局域网共享文件服务器”。 只需一个文件(exe)双击开启。 1. 主要功能 1.1 功能描述  文件共享服务器  简单的单个可执行文件  共享文件界面(只要在同一局域网或WIFI下,可以传输超大文件)  上传文件界面(支持点选和拖拽)  二维码扫码界面(支持手

  • 在这里您可以输入新建快捷方式的参数,它将被自解压程序在解压后创建。这个对话框包含下列区域: 创建到哪里 选择您希望创建快捷方式的位置。 源文件名 被压缩的文件名。 目标文件夹 创建快捷方式的文件夹,如果它不存在,它将被自解压文件创建。 快捷方式描述 描述快捷方式的文本。 快捷方式名 是由自解压程序创建的 .lnk (快捷方式)文件的文件名。 快捷方式图标 快捷方式关联的图标文件名称。如果保留空白,

  • 问题内容: 我的二传手迅速遇到了一个奇怪的问题。我有带有代码的PlayingCard类: 我在另一个类中使用此init()方法,实现如下所示: 当代码看起来像上面的代码时,我在一行中遇到了一个错误: 但是,当我从 等级 和 西服 属性中删除setter和getter时,它工作正常,没有出现错误。 您能解释一下为什么出现此 EXC_BAD_ACCESS 错误吗? 谢谢您的帮助 问题答案: 通过写这个

  • 本文向大家介绍leaflet 传单快速入门,包括了leaflet 传单快速入门的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 问题内容: 我真的是Swift的新手,我刚刚读到类是通过引用传递的,并且复制了数组/字符串等。 通过引用进行传递是否与在Objective-C或Java中通过“ a”引用进行传递的方式相同,还是通过引用进行正确传递? 问题答案: Swift中的事物类型 规则是: 类实例是 引用类型 (即, 您 对类实例的引用实际上是一个 指针 ) 函数是参考类型 其他一切都是 价值类型 ; “其他所有内容”仅表示