java sftp 实例_JAVA实现SFTP的实例
用Java EE 5實現的網上書店實例 ?李力 (ada.li@sun.com) 2007/10/23? 本教程介紹了如何使用NetBeans IDE 以及GlassFish 構建一個典型的Java EE 5應用實例. 該實例模擬網上書店, 主要實現的是對訂單的管理。用戶可以購買圖書, 并修改訂單. 該實例覆蓋了Java DB
package net.xfok.ftp; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.Properties; import java.util.Vector; 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; /** * @author YangHua * 轉載請注明出處:http://www.xfok.net/2009/10/124485.html */ public class MySFTP { /** * 連接sftp服務器 * @param host 主機 * @param port 端口 * @param username 用戶名 * @param password 密碼 * @return */ public ChannelSftp connect(String host, int port, String username, String password) { ChannelSftp sftp = null; try { 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(); 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) { } return sftp; } /** * 上傳文件 * @param directory 上傳的目錄 * @param uploadFile 要上傳的文件 * @param sftp */ public void upload(String directory, String uploadFile, ChannelSftp sftp) { try { sftp.cd(directory); File file=new File(uploadFile); sftp.put(new FileInputStream(file), file.getName()); } catch (Exception相關推薦:java
File操作實例
package sdcd;import java.io.File;import java.io.IOException;public class TestFile {
public void createFile(String path){
File file=new File(path);
if(!file.exists()){//判斷文件是否存在
try { e) { e.printStackTrace(); } } /** * 下載文件 * @param directory 下載目錄 * @param downloadFile 下載的文件 * @param saveFile 存在本地的路徑 * @param sftp */ public void download(String directory, String downloadFile,String saveFile, ChannelSftp sftp) { try { sftp.cd(directory); File file=new File(saveFile); sftp.get(downloadFile, new FileOutputStream(file)); } catch (Exception e) { e.printStackTrace(); } } /** * 刪除文件 * @param directory 要刪除文件所在目錄 * @param deleteFile 要刪除的文件 * @param sftp */ public void delete(String directory, String deleteFile, ChannelSftp sftp) { try { sftp.cd(directory); sftp.rm(deleteFile); } catch (Exception e) { e.printStackTrace(); } } /** * 列出目錄下的文件 * @param directory 要列出的目錄 * @param sftp * @return * @throws SftpException */ public Vector listFiles(String directory, ChannelSftp sftp) throws SftpException{ return sftp.ls(directory); } public static void main(String[] args) { MySFTP sf = new MySFTP(); String host = "192.168.0.1"; int port = 22; String username = "root"; String password = "root"; String directory = "/home/httpd/test/"; String uploadFile = "D:\\tmp\\upload.txt"; String downloadFile = "upload.txt"; String saveFile = "D:\\tmp\\download.txt"; String deleteFile = "delete.txt"; ChannelSftp sftp=sf.connect(host, port, username, password); sf.upload(directory, uploadFile, sftp); sf.download(directory, downloadFile, saveFile, sftp); sf.delete(directory, deleteFile, sftp); try{ sftp.cd(directory); sftp.mkdir("ss"); System.out.println("finished"); }catch(Exception e){ e.printStackTrace(); } } }
總結
以上是生活随笔為你收集整理的java sftp 实例_JAVA实现SFTP的实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 日期的工具类_java 日期时
- 下一篇: PHP中三元运算符的用法_php中三元运