java利用Jsch实现在windows平台获取linux服务器文件
2015-04-15 20:04
597 查看
今天碰到个问题,在windows想下载linux服务器上的文件,看下有什么代码实现,当然可以利用工具比如SecureCRT,网上搜索找到答案
1. java使用jsch包实现远程访问
2.Jsch官网
详细的可以看下上面这两个链接,下面直接贴代码和结果
配置类:
1. java使用jsch包实现远程访问
2.Jsch官网
详细的可以看下上面这两个链接,下面直接贴代码和结果
配置类:
package com.idc.remote; public class SshConfiguration { private String host; private String username; private String password; private int port; public String getHost() { return host; } public void setHost(String host) { this.host = host; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public int getPort() { return port; } public void setPort(int port) { this.port = port; } }主类
package com.idc.remote; import java.util.Properties; import com.jcraft.jsch.ChannelExec; import com.jcraft.jsch.ChannelSftp; import com.jcraft.jsch.JSch; import com.jcraft.jsch.JSchException; import com.jcraft.jsch.Session; import com.jcraft.jsch.SftpException; public class SshUtil { private ChannelSftp channelSftp; private ChannelExec channelExec; private Session session=null; private int timeout=60000; public SshUtil(SshConfiguration conf) throws JSchException{ System.out.println("try connect to "+conf.getHost()+",username: "+conf.getUsername()+",password: "+conf.getPassword()+",port: "+conf.getPort()); JSch jSch=new JSch(); //创建JSch对象 session=jSch.getSession(conf.getUsername(), conf.getHost(), conf.getPort());//根据用户名,主机ip和端口获取一个Session对象 session.setPassword(conf.getPassword()); //设置密码 Properties config=new Properties(); config.put("StrictHostKeyChecking", "no"); session.setConfig(config);//为Session对象设置properties session.setTimeout(timeout);//设置超时 session.connect();//通过Session建立连接 } public void download(String src,String dst) throws JSchException, SftpException{ //src linux服务器文件地址,dst 本地存放地址 channelSftp=(ChannelSftp) session.openChannel("sftp"); channelSftp.connect(); channelSftp.get(src, dst); channelSftp.quit(); } public void close(){ session.disconnect(); } public static void main(String[] args){ SshConfiguration configuration=new SshConfiguration(); configuration.setHost("192.168.1.109"); configuration.setUsername("root"); configuration.setPassword("123456789"); configuration.setPort(22); try{ SshUtil sshUtil=new SshUtil(configuration); sshUtil.download("/home/bigdata/0119EC5A1EF19C8BB1D5F30ED05D0A6D.apk","0119EC5A1EF19C8BB1D5F30ED05D0A6D.apk"); sshUtil.close(); }catch(Exception e){ e.printStackTrace(); } } }例子中获取 /home/bigdata目录下的0119EC5A1EF19C8BB1D5F30ED05D0A6D.apk文件,并保存在当前目录下,结果如图:
相关文章推荐
- java利用Jsch实现在windows平台远程操作linux服务器
- JAVA分别实现Windows平台和Linux平台下的ip获取
- Java利用ssh协议实现从远程Linux服务器下载文件和文件夹
- java使用Jsch实现远程操作linux服务器进行文件上传、下载,删除和显示目录信息
- JAVA分别实现Windows平台和Linux平台下的ip获取
- JAVA分别实现Windows平台和Linux平台下的ip获取
- JAVA分别实现Windows平台和Linux平台下的ip获取
- Java平台要实现类似豆丁百度文科的文档在线阅读,总体思路是讲doc docx等文件格式利用jcom转换成pdf再用swftools转为swf。再用flexpaper组件显示swf。
- Java平台要实现类似豆丁百度文科的文档在线阅读,总体思路是讲doc docx等文件格式利用jcom转换成pdf再用swftools转为swf。再用flexpaper组件显示swf。
- 利用joda(强大的Java日期操作组件)实现获取两个日期间隔
- Java利用MessageDigest获取字符串或文件MD5详解
- Java程序员从笨鸟到菜鸟之(一百零四)java操作office和pdf文件(二)利用POI实现数据导出excel报表
- Java程序员从笨鸟到菜鸟之(一百零四)java操作office和pdf文件(二)利用POI实现数据导出excel报表
- 利用java语言在eclipse下实现在新浪微博开发平台发微博
- Java程序员从笨鸟到菜鸟之(一百零五)java操作office和pdf文件(三)利用jxl实现数据导出excel报表以及与POI的区别
- Java程序员从笨鸟到菜鸟之(一百零五)java操作office和pdf文件(三)利用jxl实现数据导出excel报表以及与POI的区别
- Java 利用Apache Commons Net 实现 FTP文件上传下载
- 利用javacsv实现CSV文件的读写
- 利用现有的网络产品实现内网linux服务器文件的公网同步
- 利用JAVA实现WINDOWS中的dir/s查找