java代碼連接sftp,java代碼連接不上oracle

java實現sftp功能,linux上可以,solaris異常

狀態集合I的a弧轉換,表示為move(I,a)定義為狀態集合J,其中J是所有那些可從I的某一狀態經過一條a弧而到達的狀態的全體。

創新互聯建站于2013年成立,是專業互聯網技術服務公司,擁有項目網站設計、成都網站建設網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元西秀做網站,已為上家服務,為西秀各地企業和個人服務,聯系電話:028-86922220

定義Ia = ε-closure(move(I,a))

java連接Sftp服務器后,使用第三方jar com.jcraft.jsch.ChannelSftp;用get()方法獲取的InputStream流為空

java連接Sftp服務器后,使用第三方jar com.jcraft.jsch.ChannelSftp;用get()方法獲取的InputStream流為空,檢查下第3方初始化這些寫對沒有,或者就是沒得到流,打印看看,解決問題。

sftp免密用java怎么調用

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

import java.util.Properties;

import java.util.Vector;

import org.apache.commons.lang.ArrayUtils;

import com.huawei.bme.commons.om.log.DebugLog;

import com.huawei.bme.commons.om.log.LogFactory;

import com.huawei.icity.commons.constants.KeyConstant;

import com.huawei.icity.commons.constants.NumberConstant;

import com.huawei.icity.commons.exception.SPMException;

import com.huawei.icity.commons.log.IcityLogFactory;

import com.huawei.icity.commons.log.IcityRuntimeLog;

import com.huawei.icity.commons.sysconfig.StaticInitData;

import com.huawei.icity.commons.utils.StringTools;

import com.huawei.icity.omp.common.util.CommonTools;

import com.huawei.icity.omp.interfaces.hint.constant.TimetaskConstants;

import com.huawei.mdmc.bfm.cms.assist.common.domain.SingleTableModel;

import com.jcraft.jsch.Channel;

import com.jcraft.jsch.ChannelSftp;

import com.jcraft.jsch.ChannelS;

import com.jcraft.jsch.JSch;

import com.jcraft.jsch.JSchException;

import com.jcraft.jsch.Session;

import com.jcraft.jsch.SftpException;

/**

* SFTP公共處理類 〈提供SFTP文件上傳,下載,獲取指定目錄 下文件名集合, 獲取指定目錄 下文件集合等方法

*

* @author mKF75022

* @version iCity Manager V100R002 2012-7-3

* @since iCity Manager V100R002C01

*/

public class SFTPTool

{

/**

* 調測日志記錄器。

*/

private static final DebugLog DEBUGGER = LogFactory.getDebugLog(SFTPTool.class);

/**

* 運行日志記錄器。

*/

private static final IcityRuntimeLog RUNTIMELOGGER = IcityLogFactory

.getRuntimeLog(SFTPTool.class);

/**

* Sftp客戶端對象

*/

private ChannelSftp sftp = null;

/**

* SFTP IP地址

*/

private String ip;

/**

* SFTP 端口

*/

private String port;

/**

* SFTP 用戶名

*/

private String userName;

/**

* SFTP 密碼

*/

private String password;

/**

* SFTP上傳模式:BINARY

*/

// private static final int BINARY_FILE_TYPE = 2;

/**

*

* 獲取實例

*

* @return SFTPTool newinstance實例

*

*/

public static SFTPTool getNewInstance()

{

return new SFTPTool();

}

/**

* 初始化連接參數

*

* @param sftpIP

* IP

* @param sftpPort

* 端口

* @param sftpUsername

* 用戶名

* @param sftpPassword

* 密碼

*/

public void init(String sftpIP, String sftpPort, String sftpUsername, String sftpPassword)

{

// 獲取SFTP連接信息

this.ip = sftpIP;

this.port = sftpPort;

this.userName = sftpUsername;

this.password = sftpPassword;

}

/**

* 從SFTP將符合約定命名的文件都下載到本地 .

*

* @param sftpDir

* SFTP服務器文件存放路徑

* @param locDir

* 本地文件存放路徑

* @param regex

* 指定文件名的格式

* @param needBackup

* 是否需要文件備份(true:是;false:否)

* @param needFullMatch

* 是否要求全局匹配(true:是;false:否)

* @param deleteFtpFile

* the delete ftp file

* @return 下載到本地的文件列表

*/

public ListFile synSFTPFileToLocal(String sftpDir, String locDir, String regex,

boolean needBackup, boolean needFullMatch, boolean deleteFtpFile)

{

ListFile files = new ArrayListFile(KeyConstant.INITIAL_NUMBER);

try

{

this.connect(ip, Integer.parseInt(this.port), userName, password);

// 獲得FTP上文件名稱列表

ListString ftpFileNameList = this.listFiles(sftpDir, regex, needFullMatch);

File localFile = null;

int size = ftpFileNameList.size();

// 根據每個FTP文件名稱創建本地文件。

for (int i = 0; i size; i++)

{

// 下載源文件

localFile = this.download(sftpDir, locDir, ftpFileNameList.get(i), deleteFtpFile);

if (localFile.exists())

{

files.add(localFile);

}

if (needBackup)

{

// 備份源文件生成默認備份文件路徑(據請求文件路徑,生成同級目錄的備份文件夾絕對路徑)

String parentDir = sftpDir.substring(NumberConstant.INT_0,

sftpDir.lastIndexOf("/") + 1);

String backupDir = parentDir + TimetaskConstants.DEFAULT_BACKUP_DIRNAME;

boolean bakExists = openDir(backupDir);

if (bakExists)

{

this.uploadFile(backupDir, localFile);

}

else

{

boolean parentExists = openDir(parentDir);

if (parentExists)

{

s;

this.uploadFile(backupDir, localFile);

}

else

{

DEBUGGER.error("sftp parentDir no exisits ");

}

}

}

}

}

catch (Exception e)

{

DEBUGGER.error("synSFTPFileToLocal Exception", e);

}

finally

{

this.disconnect();

}

return files;

}

/**

* 連接sftp服務器

*

* @param sftpip

* ip地址

* @param sftpport

* 端口

* @param sftpusername

* 用戶名

* @param sftppassword

* 密碼

* @return channelSftp

* @throws SPMException

*/

public ChannelSftp connect(String sftpip, int sftpport, String sftpusername, String sftppassword)

{

sftp = new ChannelSftp();

try

{

JSch jsch = new JSch();

jsch.getSession(sftpusername, sftpip, sftpport);

Session sshSession = jsch.getSession(sftpusername, sftpip, sftpport);

RUNTIMELOGGER.info("Session created");

sshSession.setPassword(sftppassword);

Properties sshConfig = new Properties();

sshConfig.put("StrictHostKeyChecking", "no");

sshSession.setConfig(sshConfig);

// 設置超時時間為

sshSession.setTimeout(Integer.parseInt(StaticInitData.getFtpConnectTimeOut())

* NumberConstant.INT_1000);

sshSession.connect();

Channel channel = sshSession.openChannel("sftp");

channel.connect();

sftp = (ChannelSftp) channel;

// 設置文件類型

// ftpClient.setFileType(BINARY_FILE_TYPE);

// 與防火墻相關

// ftpClient.enterLocalPassiveMode();

}

catch (JSchException e)

{

DEBUGGER.error("JSchException : {}", e);

}

return sftp;

}

// /**

// * 創建指定文件夾

// *

// * @param dirName

// * dirName

// */

// public void mkDir(String dirName)

// {

// try

// {

// s;

// }

// catch (SftpException e)

// {

// DEBUGGER.error("mkDir Exception : " + e);

// }

// }

/**

* 創建指定文件夾

*

* @param dirName

* dirName

*/

public void mkDir(String dirName)

{

String[] dirs = dirName.split("/");

try

{

String now = s;

for (int i = 0; i dirs.length; i++)

{

boolean dirExists = openDir(dirs[i]);

if (!dirExists)

{

s(dirs[i]);

s(dirs[i]);

}

}

s;

}

catch (SftpException e)

{

DEBUGGER.error("mkDir Exception : " + e);

}

}

/**

* 打開指定目錄

*

* @param directory

* directory

* @return 是否打開目錄

*/

public boolean openDir(String directory)

{

try

{

s;

return true;

}

catch (SftpException e)

{

DEBUGGER.error("openDir Exception : " + e);

return false;

}

}

文章標題:java代碼連接sftp,java代碼連接不上oracle
網站鏈接:http://m.kartarina.com/article4/hddjie.html

成都網站建設公司_創新互聯,為您提供搜索引擎優化動態網站、全網營銷推廣品牌網站設計網站改版、網站收錄

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都定制網站網頁設計
主站蜘蛛池模板: 国产AV无码专区亚洲AWWW| 亚洲av无码片在线观看| 人妻丰满熟妇AV无码片| 亚洲天堂2017无码中文| 国产免费AV片无码永久免费 | 亚洲成AV人片天堂网无码| 人妻aⅴ中文字幕无码| 无码精品国产一区二区三区免费| 无码人妻一区二区三区在线水卜樱| 久久精品中文字幕无码绿巨人 | 亚洲精品无码久久久| 免费人成无码大片在线观看| 亚洲AV成人无码久久精品老人| 小泽玛丽无码视频一区| 免费A级毛片无码A∨| 亚洲精品无码成人片在线观看 | 国产成人无码AV片在线观看| 亚洲另类无码专区首页| 无码熟妇人妻AV在线影院| 日韩精品无码区免费专区| 亚洲AV日韩AV永久无码久久| 国产成人无码av在线播放不卡| 精品无码免费专区毛片| 日韩人妻精品无码一区二区三区 | 亚洲精品无码日韩国产不卡?V| 久久精品国产亚洲AV无码娇色| 日韩精品无码一区二区三区AV| 在线精品无码字幕无码AV| 无码午夜人妻一区二区不卡视频| 无码人妻精品一区二区蜜桃网站 | 69ZXX少妇内射无码| 亚洲欧洲自拍拍偷午夜色无码| 亚洲av无码国产精品夜色午夜| 久久亚洲AV无码西西人体| 亚洲精品无码成人片久久| 国产精品va在线观看无码| 粉嫩大学生无套内射无码卡视频| 小13箩利洗澡无码视频网站| 久久久无码中文字幕久...| 人妻无码中文久久久久专区| 国产成人精品无码免费看|