使用java通过ftp连接后运行Unix命令

时间:2015-07-10 09:36:45

标签: java shell unix ftp

我无权使用ssh / sftp(使用私钥/公钥)。所以ftp是我唯一的选择。

下面这段代码对我来说很合适,从Unix框中获取文件,但我的座右铭是从windows登录到UNIX框,使用java,然后从我的主目录转到另一个目录并使用grep,然后将输出复制回我的Windows java程序。我一直在寻找如何在框中执行一些Unix命令。正如我们在shell / python / ant中所做的那样......

new URL("ftp://user:password@url/sourcefile;type=i");
            URLConnection con = url.openConnection();
            BufferedInputStream in = 
                new BufferedInputStream(con.getInputStream());
            FileOutputStream out = 
                new FileOutputStream("Targetfile");

2 个答案:

答案 0 :(得分:1)

如果您有用户名和密码,那么您可以去Jsch库。
看看这个或直接运行它!
http://www.jcraft.com/jsch/examples/Shell.java.html


同样,你可以从中获得所有shell命令。

答案 1 :(得分:0)

FTP是一种文件传输协议。它不是通用的远程访问协议。它没有内置支持客户端在FTP服务器上运行任意命令。

FTP确实有一个名为SITE的命令,允许在服务器上运行自定义命令。要使用它,FTP服务器的管理员必须设置满足您需求的自定义命令。然后你必须使用一个真正的FTP客户端库来调用远程服务器上的site命令 - 在FTP URL上调用openConnection()将不允许你调用站点命令。