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