java利用jcraft实现和远程服务器交互,实现上传下载文件
2017-09-18 15:41
881 查看
git地址:https://github.com/fusugongzi/upLoadAndDownloadFile
第一步:引入maven支持,添加maven依赖
第二步:写一个类sshconfiguration,作用是存储要登录机器的host,port,username.pwd
第三步:写一个类sshutil,实现上传下载
github地址:https://github.com/fusugongzi/upLoadAndDownloadFile
第一步:引入maven支持,添加maven依赖
<!-- https://mvnrepository.com/artifact/com.jcraft/jsch --> <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.54</version> </dependency>
第二步:写一个类sshconfiguration,作用是存储要登录机器的host,port,username.pwd
public class SshConfiguration { private String host; private int port; private String userName; private String password; public String getHost() { return host; } public void setHost(String host) { this.host = host; } public int getPort() { return port; } public void setPort(int port) { this.port = port; } public String getUserName() { return userName; } public void setUserName(Strin 4000 g userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public SshConfiguration(String host, int port, String userName, String password) { this.host = host; this.port = port; this.userName = userName; this.password = password; } public SshConfiguration(){} }
第三步:写一个类sshutil,实现上传下载
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 upLoad(String src,String dst) throws JSchException,SftpException{ //src 本机文件地址。 dst 远程文件地址 channelSftp=(ChannelSftp) session.openChannel("sftp"); channelSftp.connect(); channelSftp.put(src, dst); channelSftp.quit(); } public void close(){ session.disconnect(); } public static void main(String[] args){ SshConfiguration configuration=new SshConfiguration(); configuration.setHost("172.17.1.232"); configuration.setUserName("root"); configuration.setPassword("root275858"); configuration.setPort(22); try{ // SshUtil sshUtil=new SshUtil(configuration); // sshUtil.download("/home/cafintech/Logs/metaData/meta.log","D://meta.log"); // sshUtil.close(); // System.out.println("文件下载完成"); SshUtil sshUtil=new SshUtil(configuration); sshUtil.upLoad("D://meta.log","/home/cafintech/"); sshUtil.close(); System.out.println("文件上传完成"); }catch(Exception e){ e.printStackTrace(); } } }
github地址:https://github.com/fusugongzi/upLoadAndDownloadFile
相关文章推荐
- 利用WebService实现远程服务器文件的上传和下载
- 利用WebService实现远程服务器文件的上传和下载
- Java利用ssh协议实现本地文件到远程Linux服务器的上传。
- 利用WebService实现远程服务器文件的上传和下载
- 利用WebService实现远程服务器文件的上传和下载
- Java实现远程HDFS的文件操作(新建、上传、下载、删除)
- java利用commons-fileupload组件实现文件的上传与下载
- Java实现FTP服务器的上传、下载、删除、查看文件列表
- JCIFS实现远程服务器共享文件上传下载
- 探究ftp的奥妙之系统用户如何上传下载文件、vsftpd如何识别证书并利用客户端来实现远程连接传输
- java实现文件上传下载至ftp服务器
- Java实现远程HDFS的文件操作(新建、上传、下载、删除)
- JAVA实现FTP服务器文件的上传,下载,删除功能
- Java FTP 实现跨服务器文件上传下载
- Android端通过Okhttp与PHP服务器进行交互并实现文件上传下载(二)
- java 实现上传文件到远程服务器
- 利用ssh实现服务器文件上传下载
- java操作ftp实现文件的上传下载(适用于图片文档服务器)
- Java FTP 实现跨服务器文件上传下载
- Android端通过Okhttp与PHP服务器进行交互并实现文件上传下载(一)