java sftp文件上传核心代码

原创 2015年11月19日 15:20:03
package sftp;


import java.io.File;  
import java.io.FileInputStream;  
import java.io.FileNotFoundException;  
import java.io.FileOutputStream;  
import java.util.Properties;  
  
import com.jcraft.jsch.Channel;  
import com.jcraft.jsch.ChannelSftp;  
import com.jcraft.jsch.JSch;  
import com.jcraft.jsch.Session;  
import com.jcraft.jsch.SftpException;  
  
public class SFTPUtil {  
      
    private String host = "172.30.104.40";  
    private String username="weblogic";  
    private String password="weblogic";  
    private int port = 22;  
    private ChannelSftp sftp = null;  
    private static final  String linuxFileSeparator = "/";
    
    public SFTPUtil(){}
    
    public SFTPUtil(String host, String username, String password, int port){
    this.host = host;
    this.username = username;
    this.password = password;
    this.port = port;
    }
    /** 
     * connect server via sftp 
     */  
    public void connect() {  
        try {  
            if(sftp != null){  
                System.out.println("sftp is not null");  
            }  
            JSch jsch = new JSch();  
            jsch.getSession(username, host, port);  
            Session sshSession = jsch.getSession(username, host, port);  
            System.out.println("Session created.");  
            sshSession.setPassword(password);  
            Properties sshConfig = new Properties();  
            sshConfig.put("StrictHostKeyChecking", "no");  
            sshSession.setConfig(sshConfig);  
            sshSession.connect();  
            sshSession.setTimeout(1000*60*10);
            System.out.println("Session connected.");  
            System.out.println("Opening Channel.");  
            Channel channel = sshSession.openChannel("sftp");  
            channel.connect();  
            sftp = (ChannelSftp) channel;  
            System.out.println("Connected to " + host + ".");  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
    /** 
     * Disconnect with server 
     */  
    public void disconnect() {  
        if(this.sftp != null){  
            if(this.sftp.isConnected()){  
                this.sftp.disconnect();  
            }else if(this.sftp.isClosed()){  
                System.out.println("sftp is closed already");  
            }  
        }  
  
    }  
  
      
    public void download(String remoteDirectory, String remoteDownloadFileName, String localSaveFilePath) {  
        try {  
            this.sftp.cd(remoteDirectory);  
            File file = new File(localSaveFilePath);  
            this.sftp.get(remoteDownloadFileName, new FileOutputStream(file)); 
            System.out.println("download remote file[" + remoteDirectory + linuxFileSeparator + remoteDownloadFileName + "] to local " + localSaveFilePath);
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
      
    /** 
     * upload one file to the server 
     */  
    public void upload(String localFilePath, String remoteFileDirectory) {  
        try {  
            File file = new File(localFilePath);  
              
            if(file.isFile()){  
                System.out.println("localFile : " + file.getAbsolutePath());  
                System.out.println("remotePath:" + remoteFileDirectory);  
                this.sftp.cd(remoteFileDirectory);
                this.sftp.put(new FileInputStream(file), file.getName());  
                System.out.println("=========upload file for " + localFilePath);  
            }  
        } catch (FileNotFoundException e) {  
            e.printStackTrace();  
        } catch (SftpException e) {  
            e.printStackTrace();  
        }  
    }  
  
    /** 
     * @return the host 
     */  
    public String getHost() {  
        return host;  
    }  
  
    /** 
     * @param host the host to set 
     */  
    public void setHost(String host) {  
        this.host = host;  
    }  
  
    /** 
     * @return the username 
     */  
    public String getUsername() {  
        return username;  
    }  
  
    /** 
     * @param username the username to set 
     */  
    public void setUsername(String username) {  
        this.username = username;  
    }  
  
    /** 
     * @return the password 
     */  
    public String getPassword() {  
        return password;  
    }  
  
    /** 
     * @param password the password to set 
     */  
    public void setPassword(String password) {  
        this.password = password;  
    }  
  
    /** 
     * @return the port 
     */  
    public int getPort() {  
        return port;  
    }  
  
    /** 
     * @param port the port to set 
     */  
    public void setPort(int port) {  
        this.port = port;  
    }  
  
    /** 
     * @return the sftp 
     */  
    public ChannelSftp getSftp() {  
        return sftp;  
    }  
  
    /** 
     * @param sftp the sftp to set 
     */  
    public void setSftp(ChannelSftp sftp) {  
        this.sftp = sftp;  
    }  
  
      
    public static void main(String[] args) {  
        SFTPUtil ftp= new SFTPUtil();  
        ftp.connect();  
        ftp.upload("c:\\RpStatisticsAmountVO.java", "/home/weblogic/job");  
        ftp.download("/home/weblogic/job", "RpStatisticsAmountVO.java", "d:\\RpStatisticsAmountVO.java");
        ftp.disconnect();  
    }  
  
  

}  



项目下载地址:http://download.csdn.net/download/qq_14946627/9282783

版权声明:内容仅供个人学习 举报

相关文章推荐

java sftp文件上传核心代码

package sftp; import java.io.File;   import java.io.FileInputStream;   import java.io.FileNot...

JAVA-SFTP上传文件

话不多说,先上代码。使用guice注入。其他使用自行修改 ` import com.google.inject.Singleton; import com.jcraft.jsch.*; imp...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

FileUpload上传组件核心代码

核心包两个: 1)commons-fileupload-1.2.2.jar 2)依赖apache另一个项目的包commons-io-2.0.1.jar 两个核心包是目前最...

java 代码链接SFTP,上传下载

依赖jar包: com.jcraft jsch 0.1.53 import java.io.File; import java.io.FileInputStream; imp...

JAVA文件上传代码

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletExceptio...

SFTP上传文件详解

JSch是Java Secure Channel的缩写。JSch是一个SSH2的纯Java实现。它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,当然你也可以集成它的功能到...

java中sftp文件上传与下载

Java中使用sftp进行文件上传与下载最近项目中使用sftp进行文件上传与下载,特意写一篇文章用来作为例子参考: 注:项目的pom文件里面需要加上依赖包: com.jcra...

sftp 文件上传 跨服务器 java

最近公司搞服务器迁移想把大量图片搞一个文件服务器 后续上传图片就采用sftp协议方式上传  参考了一篇blog   http://blog.csdn.net/haidage/article/deta...

Java SFTP文件上传下载

Java实现SFTP,上传下载时可以变更文件名,记录一下 在安卓文章里看到的,用的包是:jsch-0.1.54.jar,log请换成log4jpublic class

(1) java通过sftp上传文件

Linux操作系统我们经常使用ssh中的ftp,sftp连接服务器,做相应操作。 如何通过java代码的形式采用sftp连接到服务器,进行文件上传下载等操作呢? 第一步,引入依赖包     ...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)