用于执行FTP操作的java库

用于执行FTP操作的java库,ftp,java,Ftp,Java,我有一套基于部署的活动,也包括 从开发机器到基于linux的服务器进行FTP传输,以及 在linux机器上执行某些脚本 通过创建一个执行这些FTP活动的基于java的小型实用程序,可以实现这些活动的自动化 以下是我的问题: 是否有java库来执行FTP操作(如ApacheCommonsNet) 是否有开源库可以通过FTP调用shell脚本并根据脚本输出执行某些操作 请注意,我不是在论坛上寻找我的具体问题的解决方案;我更感兴趣的是从这里的成员那里寻找技术/java库的替代方案和建议。是的我们非常有

我有一套基于部署的活动,也包括

  • 从开发机器到基于linux的服务器进行FTP传输,以及
  • 在linux机器上执行某些脚本
  • 通过创建一个执行这些FTP活动的基于java的小型实用程序,可以实现这些活动的自动化

    以下是我的问题:

  • 是否有java库来执行FTP操作(如ApacheCommonsNet)
  • 是否有开源库可以通过FTP调用shell脚本并根据脚本输出执行某些操作

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

    是的我们非常有apache commons net库来执行ftp操作

    您可以查看此链接:

                            http://commons.apache.org/net/
    
    从上述站点下载commons-net-ftp-2.0 lib。

    我还附加了我的程序,使用apache
    lib

    上传:

    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();
            }
    
    
    
    
    
    
        }
    
    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();
        }
    
    
    
    }
    
    Dowloading:

    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();
            }
    
    
    
    
    
    
        }
    
    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();
        }
    
    
    
    }
    

    我们有很多apache commons网络库来执行ftp操作

    您可以查看此链接:

                            http://commons.apache.org/net/
    
    从上述站点下载commons-net-ftp-2.0 lib。

    我还附加了我的程序,使用apache
    lib

    上传:

    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();
            }
    
    
    
    
    
    
        }
    
    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();
        }
    
    
    
    }
    
    Dowloading:

    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();
            }
    
    
    
    
    
    
        }
    
    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();
        }
    
    
    
    }
    
    既然您提到PuTTY(一个SSH客户机),您可能应该看看这个库。它提供SSH访问,并使您能够安全地传输文件和远程执行shell脚本。

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

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

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

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


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

    Apache Commons Net有什么问题吗?您的第二个问题并不完全清楚。您是否正在尝试在服务器上执行客户端上存在的脚本?您希望执行后操作在哪里运行?您链接的库(ApacheCommonsNet)拥有您所寻求的大部分功能(如果不是全部的话)。您还可以看一看。@JamesA正如我所说的,我想调用一个服务器端shell脚本。可以使用commons net吗?我还没有使用commons net进行验证。调用服务器端脚本取决于主机上运行的ftp服务器。
    QUOTE
    子命令通常是该功能的网关。Apache Commons Net有什么问题吗?您的第二个问题并不完全清楚。您是否正在尝试在服务器上执行客户端上存在的脚本?您希望执行后操作在哪里运行?您链接的库(ApacheCommonsNet)拥有您所寻求的大部分功能(如果不是全部的话)。您还可以看一看。@JamesA正如我所说的,我想调用一个服务器端shell脚本。可以使用commons net吗?我还没有使用commons net进行验证。调用服务器端脚本取决于主机上运行的ftp服务器。
    QUOTE
    子命令通常是该功能的网关。谢谢Kumar。在某个服务器位置调用脚本怎么样。这个想法就是我在putty终端上所做的,我想自动化这个过程。这是一个牵强的想象吗?谢谢库马尔。在某个服务器位置调用脚本怎么样。这个想法就是我在putty终端上所做的,我想自动化这个过程。这是一种牵强的想象吗?