首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java库来执行FTP操作

问java库来执行FTP操作
EN

Stack Overflow用户
提问于 2012-06-20 04:42:30
回答 3查看 2.3K关注 0票数 1

我有一组基于部署的活动,这些活动还包括

  1. 从dev机器到基于linux的服务器进行FTP传输,以及
  2. 在linux机器上执行某些脚本。

可以通过创建一个执行这些FTP活动的基于java的小实用程序来自动化这些活动。

以下是我的问题:

  1. 是否有可执行FTP操作的java库(如apache,http://commons.apache.org/net/)?
  2. 是否有开源库通过FTP调用shell脚本并根据脚本输出执行某些操作?

请注意,我并不是在论坛上寻找解决我的具体问题的方法;我更感兴趣的是寻找来自这里的成员的技术/java库替代方案和建议。

EN

回答 3

Stack Overflow用户

发布于 2012-06-20 04:58:09

是的,,我们非常有apache库来执行ftp操作。

you can view this link:

代码语言:javascript
复制
                        http://commons.apache.org/net/

Download the commons-net-ftp-2.0 lib from the above site.

I am also attaching my program to upload and download song to ftp server using the apache lib

上传:

代码语言:javascript
复制
public void goforIt(){


        FTPClient con = null;

        try
        {
            con = new FTPClient();
            con.connect("192.168.2.57");

            if (con.login("Administrator", "KUjWbk"))
            {
                con.enterLocalPassiveMode(); // important!
                con.setFileType(FTP.BINARY_FILE_TYPE);
                String data = "/sdcard/vivekm4a.m4a";

                FileInputStream in = new FileInputStream(new File(data));
                boolean result = con.storeFile("/vivekm4a.m4a", in);
                in.close();
                if (result) Log.v("upload result", "succeeded");
                con.logout();
                con.disconnect();
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }






    }

Dowloading:

代码语言:javascript
复制
public void goforIt(){
    FTPClient con = null;

    try
    {
        con = new FTPClient();
        con.connect("192.168.2.57");

        if (con.login("Administrator", "KUjWbk"))
        {
            con.enterLocalPassiveMode(); // important!
            con.setFileType(FTP.BINARY_FILE_TYPE);
            String data = "/sdcard/vivekm4a.m4a";

            OutputStream out = new FileOutputStream(new File(data));
            boolean result = con.retrieveFile("vivekm4a.m4a", out);
            out.close();
            if (result) Log.v("download result", "succeeded");
            con.logout();
            con.disconnect();
        }
    }
    catch (Exception e)
    {
        Log.v("download result","failed");
        e.printStackTrace();
    }



}
票数 4
EN

Stack Overflow用户

发布于 2012-06-20 05:07:47

由于您提到了PuTTY ( SSH客户端),您可能应该查看JSch库。它提供SSH访问,并使您能够安全地传输文件和远程执行shell脚本。

票数 2
EN

Stack Overflow用户

发布于 2012-06-20 05:17:11

我们正在生产环境中使用ftp4j。例如,它有HTTP代理、SOCKS代理、FTPS和FTPES支持。

要执行shell脚本,您必须使用ssh库,比如这些。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11112930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档