【问题标题】:URLConnection with FTPS与 FTPS 的 URL 连接
【发布时间】:2013-03-12 15:29:30
【问题描述】:

是否可以更改当前的源代码以便我可以使用 FTPS?:

InputStream in = new URL(url).openStream();
OutputStream out = new     URL("ftp://"+user+":"+password+"@"+server+""+dir+""+filename_real_string).openConnection().get    OutputStream();
byte[] buffer = new byte[16384];
while ((r=in.read(buffer))>=0) {
  out.write(buffer, 0, r);
}
in.close();
out.close(); 

是否可以不使用任何额外的库,或者如果没有,哪个库最适合?

【问题讨论】:

    标签: java java-7 urlconnection ftps


    【解决方案1】:

    你可以使用:org.apache.commons.net.ftp.FTPSClient

    使用示例:

    public static void main(String[] args) {
        FTPSClient ftp = new FTPSClient();
        String host = "server.com";
        int port = 2121;
        String folderName = "dir";
        String username = "user";
        String password = "password";
        try {
            ftp.connect(host, port);
            ftp.login(username, password);
            InputStream fis = new FileInputStream("../filename_src.txt");
    
            ftp.storeFile("/" + folderName + "/filename_dest.xml", fis);
            fis.close();
    
            ftp.logout();
            ftp.disconnect();
        } catch (SocketException ex) {
            Logger.getLogger(FTPSendMessage.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(FTPSendMessage.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    

    【讨论】:

    • 谢谢,会试一试,所以没有直接使用 Oracle 提供的普通 Java 类的解决方案?
    • 但需要加上百分比=n;字符串 n_perct = n+"%"; System.out.print("\rTransferring "+filename_real_string+" "+n_perct+""); ...到 in.read 输入流也是一个远程 url,远程文件应该直接传输到 ftp 打印有关当前状态的信息(百分比)
    • 不,Java 中没有本地实现 ftps 客户端。
    • oh ok =( 还有我关于更新百分比值的部分?
    • 如果输入流是远程url,并不意味着文件可以从远程dest传输到其他远程dest。它必须下载然后上传。要获得下载/上传进度,您可以使用 CountingInputStream/CountingOutputStream。这是一个例子:stackoverflow.com/questions/5875837/…
    猜你喜欢
    • 2015-07-16
    • 2016-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-14
    • 1970-01-01
    • 1970-01-01
    • 2020-01-22
    相关资源
    最近更新 更多