国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java操作SFTP

2019-11-14 22:02:56
字體:
來源:轉載
供稿:網友
java操作SFTP Posted on 2014-11-27 17:55 CN.PRogrammer.Luxh 閱讀(...) 評論(...) 編輯 收藏
import java.util.Properties;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import com.jcraft.jsch.Channel;import com.jcraft.jsch.ChannelSftp;import com.jcraft.jsch.JSch;import com.jcraft.jsch.session;/** * @description SFTP工具 * @author Luxh */public class SFTPUtils {        private static final Logger Log = LoggerFactory.getLogger(SFTPUtils.class);        /**FTP協議*/    private static final String FTP_PROTOCOL = "sftp";            /**     * 獲取session     * @param host     * @param port     * @param username     * @param passWord     * @return     */    public static Session getSession(String host, int port, String username, String password) {        Session session = null;        try {            Log.info("init session...");                        JSch jsch = new JSch();            session = jsch.getSession(username, host, port);            session.setPassword(password);            Properties config = new Properties();            config.put("StrictHostKeyChecking", "no");            session.setConfig(config);            session.connect();                        Log.info("init session successful");        }catch(Exception e) {            Log.error("init session failed");                    }        return session;    }        /**     * 獲取 ChannelSftp     * @param session     * @return     */    public static ChannelSftp getChannelSftp(Session session){        ChannelSftp sftp = null;        try{            Log.info("init ChannelSftp...");                        Channel channel = session.openChannel(FTP_PROTOCOL);            channel.connect();            sftp = (ChannelSftp) channel;                        Log.info("init ChannelSftp successful");        }catch(Exception e) {            Log.error("init ChannelSftp failed");                    }        return sftp;            }        /**     * 上傳     * @param src 源文件路徑     * @param dst    目標文件路徑     * @param sftp     */    public static void upload(String src, String dst, ChannelSftp sftp) {        try {            Log.info("begin upload...");            Log.info("src file is:{}", src);            Log.info("dst file is:{}", dst);            sftp.put(src, dst);            Log.info("upload successful");        } catch (Exception e) {            Log.error("upload failed");                    }    }        /**     * 下載     * @param src    要下載的文件         * @param dst    存放路徑     * @param sftp     */    public static void download(String src, String dst, ChannelSftp sftp) {        try {            Log.info("begin download...");            Log.info("src file is:{} ", src);            Log.info("dst file is:{} ", dst);            sftp.get(src, dst);            Log.info("download successful");        } catch (Exception e) {            Log.error("download failed");                    }    }        /**     * 刪除     * @param path    要刪除的文件路徑     * @param sftp     */    public static void delete(String path, ChannelSftp sftp) {        try {            Log.info("begin delete...");            Log.info("dst file is:  {}", path);            sftp.rm(path);            Log.info("delete successful");        } catch (Exception e) {            Log.error("delete failed");                    }    }        /**     * 關閉連接     * @param session     * @param sftp     */    public static void close(Session session, ChannelSftp sftp){        if(sftp != null) {            sftp.disconnect();            Log.info("ChannelSftp disconnect");        }        if(session != null) {            session.disconnect();            Log.info("Session disconnect");        }    }                                }

  

  使用了jsch庫:http://www.jcraft.com/jsch/


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江城| 饶阳县| 响水县| 襄汾县| 潜山县| 松江区| 陇西县| 浦县| 章丘市| 开原市| 简阳市| 那坡县| 松滋市| 乐昌市| 大新县| 钟山县| 明溪县| 肇东市| 尤溪县| 女性| 环江| 合阳县| 泸州市| 丹江口市| 京山县| 太谷县| 剑阁县| 渭南市| 咸阳市| 连州市| 日喀则市| 东港市| 富宁县| 秀山| 柏乡县| 凤冈县| 孟津县| 大理市| 永清县| 四川省| 泗阳县|