java sftp ls_Java ChannelSftp.ls方法代碼示例

本文整理匯總了Java中com.jcraft.jsch.ChannelSftp.ls方法的典型用法代碼示例。如果您正苦於以下問題:Java ChannelSftp.ls方法的具體用法?Java ChannelSftp.ls怎麽用?Java ChannelSftp.ls使用的例子?那麽恭喜您, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類com.jcraft.jsch.ChannelSftp的用法示例。

在下文中一共展示了ChannelSftp.ls方法的19個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於我們的係統推薦出更棒的Java代碼示例。

示例1: getRemoteFileList

​點讚 5

import com.jcraft.jsch.ChannelSftp; //導入方法依賴的package包/類

@SuppressWarnings("unchecked")

public static Vector getRemoteFileList(String user, String password, String addr, int port, String cwd) throws JSchException,

SftpException, Exception {

Session session = getSession(user, password, addr, port);

Vector lsVec=null;

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

channel.connect();

ChannelSftp sftpChannel = (ChannelSftp) channel;

try {

lsVec=(Vector)sftpChannel.ls(cwd); //sftpChannel.lpwd()

} catch (Exception e) {

e.printStackTrace();

throw e;

} finally {

sftpChannel.exit();

channel.disconnect();

session.disconnect();

}

return lsVec;

}

開發者ID:billchen198318,項目名稱:bamboobsc,代碼行數:22,

示例2: getDir

​點讚 5

import com.jcraft.jsch.ChannelSftp; //導入方法依賴的package包/類

private void getDir(final ChannelSftp channel,

final String remoteFile,

final File localFile) throws IOException, SftpException {

String pwd = remoteFile;

if (remoteFile.lastIndexOf('/') != -1) {

if (remoteFile.length() > 1) {

pwd = remoteFile.substring(0, remoteFile.lastIndexOf('/'));

}

}

channel.cd(pwd);

if (!localFile.exists()) {

localFile.mkdirs();

}

@SuppressWarnings("unchecked")

final List files = channel.ls(remoteFile);

for (ChannelSftp.LsEntry le : files) {

final String name = le.getFilename();

if (le.getAttrs().isDir()) {

if (".".equals(name) || "..".equals(name)) {

continue;

}

getDir(channel,

channel.pwd() + "/" + name + "/",

new File(localFile, le.getFilename()));

} else {

getFile(channel, le, localFile);

}

}

channel.cd("..");

}

開發者ID:apache,項目名稱:ant,代碼行數:31,

示例3: listFiles

​點讚 5

import com.jcraft.jsch.ChannelSftp; //導入方法依賴的package包/類

/**

* Lists directory files on remote server.

* @throws URISyntaxException

* @throws JSchException

* @throws SftpException

*/

private void listFiles() throws URISyntaxException, JSchException, SftpException {

JSch jsch = new JSch();

JSch.setLogger(new JschLogger());

setupSftpIdentity(jsch);

URI uri = new URI(sftpUrl);

Session session = jsch.getSession(sshLogin, uri.getHost(), 22);

session.setConfig("StrictHostKeyChecking", "no");

session.connect();

System.out.println("Connected to SFTP server");

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

channel.connect();

ChannelSftp sftpChannel = (ChannelSftp) channel;

Vector directoryEntries = sftpChannel.ls(uri.getPath());

for (LsEntry file : directoryEntries) {

System.out.println(String.format("File - %s", file.getFilename()));

}

sftpChannel.exit();

session.disconnect();

}

開發者ID:szaqal,項目名稱:KitchenSink,代碼行數:29,

示例4: listEntries

​點讚 4

import com.jcraft.jsch.ChannelSftp; //導入方法依賴的package包/類

private Vector listEntries(final ChannelSftp channelSftp, final String path) throws SftpException {

final Vector vector = new Vector();

LsEntrySelector selector = new LsEntrySelector() {

public int select(LsEntry entry) {

final String filename = entry.getFilename();

if (filename.equals(".") || filename.equals("..")) {

return CONTINUE;

}

if (entry.getAttrs().isLink()) {

vector.addElement(entry);

}

else if (entry.getAttrs().isDir()) {

if (keepDirectory(filename)) {

vector.addElement(entry);

}

}

else {

if (keepFile(filename)) {

vector.addElement(entry);

}

}

return CONTINUE;

}

};

channelSftp.ls(path, selector);

return vector;

}

開發者ID:archos-sa,項目名稱:aos-FileCoreLibrary,代碼行數:30,

示例5: ls

​點讚 4

import com.jcraft.jsch.ChannelSftp; //導入方法依賴的package包/類

@Override

@SuppressWarnings("unchecked")

public List ls(String path)

throws FileBasedHelperException {

try {

List list = new ArrayList();

ChannelSftp channel = getSftpChannel();

Vector vector = channel.ls(path);

for (LsEntry entry : vector) {

list.add(entry.getFilename());

}

channel.disconnect();

return list;

} catch (SftpException e) {

throw new FileBasedHelperException("Cannot execute ls command on sftp connection", e);

}

}

開發者ID:Hanmourang,項目名稱:Gobblin,代碼行數:18,

示例6: ls

​點讚 3

import com.jcraft.jsch.ChannelSftp; //導入方法依賴的package包/類

public static List ls(String hostname, int port, String username, File keyFile, final String passphrase,

String path) throws JSchException, IOException, SftpException {

Session session = createSession(hostname, port, username, keyFile, passphrase);

session.connect();

ChannelSftp channel = (ChannelSftp) session.openChannel("sftp");

channel.connect();

@SuppressWarnings("unchecked")

Vector vector = (Vector) channel.ls(path);

channel.disconnect();

session.disconnect();

List files = new ArrayList();

for (LsEntry lse : vector) {

files.add(lse.getFilename());

}

return files;

}

開發者ID:ujmp,項目名稱:universal-java-matrix-package,代碼行數:17,

示例7: upload

​點讚 3

import com.jcraft.jsch.ChannelSftp; //導入方法依賴的package包/類

public static void upload(String directory, String uploadFile, ChannelSftp sftp) throws Exception{

File file = new File(uploadFile);

if(file.exists()){

try {

Vector content = sftp.ls(directory);

if(content == null){

sftp.mkdir(directory);

System.out.println("mkdir:" + directory);

}

} catch (SftpException e) {

sftp.mkdir(directory);

}

sftp.cd(directory);

System.out.println("directory: " + directory);

if(file.isFile()){

InputStream ins = new FileInputStream(file);

sftp.put(ins, new String(file.getName().getBytes(),"UTF-8"));

}else{

File[] files = file.listFiles();

for (File file2 : files) {

String dir = file2.getAbsolutePath();

if(file2.isDirectory()){

String str = dir.substring(dir.lastIndexOf(file2.separator));

directory = directory + str;

}

System.out.println("directory is :" + directory);

upload(directory,dir,sftp);

}

}

}

}

開發者ID:zhuyuqing,項目名稱:bestconf,代碼行數:36,

示例8: traverse

​點讚 3

import com.jcraft.jsch.ChannelSftp; //導入方法依賴的package包/類

/**

* Delete directory and its content recursively.

*

* @param channel

* open channel to SFTP server

* @param path

* path of the directory

* @throws SftpException

* when something went wrong

*/

@SuppressWarnings("unchecked")

private void traverse(ChannelSftp channel, String path)

throws SftpException {

SftpATTRS attrs = channel.stat(path);

if (attrs.isDir()) {

Vector files = channel.ls(path);

if (files != null && files.size() > 0) {

Iterator it = files.iterator();

while (it.hasNext()) {

LsEntry entry = it.next();

if ((!entry.getFilename().equals(".")) && (!entry.getFilename().equals(".."))) {

traverse(channel, path + "/" + entry.getFilename());

}

}

}

channel.rmdir(path);

} else {

channel.rm(path);

}

}

開發者ID:psnc-dl,項目名稱:darceo,代碼行數:31,

示例9: recursiveDelete

​點讚 3

import com.jcraft.jsch.ChannelSftp; //導入方法依賴的package包/類

private static void recursiveDelete(ChannelSftp sftp, String path)

throws SftpException, JSchException {

Vector> entries = sftp.ls(path);

for (Object object : entries) {

LsEntry entry = (LsEntry) object;

if (entry.getFilename().equals(".")

|| entry.getFilename().equals("..")) {

continue;

}

if (entry.getAttrs().isDir()) {

recursiveDelete(sftp, path + entry.getFilename() + "/");

} else {

sftp.rm(path + entry.getFilename());

}

}

sftp.rmdir(path);

}

開發者ID:apache,項目名稱:incubator-taverna-common-activities,代碼行數:18,

示例10: list

​點讚 3

import com.jcraft.jsch.ChannelSftp; //導入方法依賴的package包/類

@SuppressWarnings("unchecked")

public List list(String parent) throws IOException {

try {

ChannelSftp c = getSftpChannel(parent);

String path = getPath(parent);

Collection r = c.ls(path);

if (r != null) {

if (!path.endsWith("/")) {

path = parent + "/";

}

List result = new ArrayList<>();

for (LsEntry entry : r) {

if (".".equals(entry.getFilename()) || "..".equals(entry.getFilename())) {

continue;

}

result.add(path + entry.getFilename());

}

return result;

}

} catch (SftpException | URISyntaxException e) {

throw new IOException("Failed to return a listing for '" + parent + "'", e);

}

return null;

}

開發者ID:apache,項目名稱:ant-ivy,代碼行數:25,

示例11: listFile

​點讚 3

import com.jcraft.jsch.ChannelSftp; //導入方法依賴的package包/類

@Override

public FileInfo listFile(String relativePath, boolean closeSession) {

ChannelSftp sftp = null;

FileInfo fileInfo = null;

try {

// Get a reusable channel if the session is not auto closed.

sftp = (closeSession) ? openConnectedChannel() : openConnectedChannel(CHANNEL_1);

sftp.cd(basePath);

if (!relativePath.equals(".") && !relativePath.equals("..")) {

@SuppressWarnings("rawtypes")

Vector list = sftp.ls(relativePath);

for (Object object : list) {

LsEntry entry = (LsEntry)object;

if (!entry.getFilename().equals(".") && !entry.getFilename().equals("..")) {

long updateTime = entry.getAttrs().getMTime();

fileInfo = new FileInfo(relativePath, entry.getAttrs().isDir(), updateTime * 1000, entry.getAttrs().getSize());

}

}

}

return fileInfo;

} catch (Exception e) {

return null;

} finally {

if (closeSession) {

close();

}

}

}

開發者ID:JumpMind,項目名稱:metl,代碼行數:29,

示例12: listFiles

​點讚 2

import com.jcraft.jsch.ChannelSftp; //導入方法依賴的package包/類

private List listFiles(String path, ChannelSftp c) throws Exception {

try {

List res = new ArrayList();

@SuppressWarnings("rawtypes")

java.util.Vector vv = c.ls(extractSessionPath(path));

if (vv != null) {

for (int ii = 0; ii < vv.size(); ii++) {

Object obj = vv.elementAt(ii);

if (obj instanceof com.jcraft.jsch.ChannelSftp.LsEntry) {

LsEntry lsEntry = (com.jcraft.jsch.ChannelSftp.LsEntry) obj;

if ((lsEntry.getFilename().equals("."))

||(lsEntry.getFilename().equals(".."))

)

continue;

FileEntry fileEntry = new FileEntry();

fileEntry.displayName = lsEntry.getFilename();

fileEntry.path = createFilePath(path, fileEntry.displayName);

SftpATTRS attrs = lsEntry.getAttrs();

setFromAttrs(fileEntry, attrs);

res.add(fileEntry);

}

}

}

return res;

} catch (Exception e) {

tryDisconnect(c);

throw convertException(e);

}

}

開發者ID:PhilippC,項目名稱:keepass2android,代碼行數:34,

示例13: prepareUpload

​點讚 2

import com.jcraft.jsch.ChannelSftp; //導入方法依賴的package包/類

public boolean prepareUpload(

ChannelSftp sftpChannel,

String path,

boolean overwrite)

throws SftpException, IOException, FileNotFoundException {

boolean result = false;

// Build romote path subfolders inclusive:

String[] folders = path.split("/");

for (String folder : folders) {

if (folder.length() > 0) {

// This is a valid folder:

try {

System.out.println("Current Folder path before cd:" + folder);

sftpChannel.cd(folder);

} catch (SftpException e) {

// No such folder yet:

System.out.println("Inside create folders: ");

sftpChannel.mkdir(folder);

sftpChannel.cd(folder);

}

}

}

// Folders ready. Remove such a file if exists:

if (sftpChannel.ls(path).size() > 0) {

if (!overwrite) {

System.out.println(

"Error - file " + path + " was not created on server. " +

"It already exists and overwriting is forbidden.");

} else {

// Delete file:

sftpChannel.ls(path); // Search file.

sftpChannel.rm(path); // Remove file.

result = true;

}

} else {

// No such file:

result = true;

}

return result;

}

開發者ID:jenkinsci,項目名稱:ssh2easy-plugin,代碼行數:45,

示例14: processCommands

​點讚 2

import com.jcraft.jsch.ChannelSftp; //導入方法依賴的package包/類

private Object processCommands(ChannelSftp channel) throws Exception {

Object result = null;

if ("get".equals(action)) {

if (log.isDebugEnabled()) {

log.debug("Sftp get from '" + from + "' to '" + to + "'");

}

ensureFrom();

if (StringUtils.isBlank(to)) {

// return content as result

ByteArrayOutputStream out = new ByteArrayOutputStream();

channel.get(from, out);

result = out.toString("UTF-8");

} else {

channel.get(from, to);

}

doPostOperations(channel, from);

} else if ("put".equals(action)) {

if (log.isDebugEnabled()) {

log.debug("Sftp put from '" + from + "' to '" + to + "'");

}

ensureTo();

if (StringUtils.isBlank(from)) {

// put value as content

Object val = getValue();

if (val == null) {

throw new PaxmlRuntimeException("Sftp command wrong: no value to put on remote server");

}

InputStream in = new ByteArrayInputStream(String.valueOf(val).getBytes("UTF-8"));

channel.put(in, to);

} else {

channel.put(from, to);

}

doPostOperations(channel, to);

} else if ("move".equals(action)) {

if (log.isDebugEnabled()) {

log.debug("Sftp move from '" + from + "' to '" + to + "'");

}

ensureFrom();

ensureTo();

channel.rename(from, to);

} else if ("delete".equals(action)) {

if (log.isDebugEnabled()) {

log.debug("Sftp delete from: " + from);

}

ensureFrom();

channel.rm(from);

} else if ("mkdir".equals(action)) {

if (log.isDebugEnabled()) {

log.debug("Sftp mkdir to: " + to);

}

ensureTo();

channel.mkdir(to);

} else if ("list".equals(action)) {

if (log.isDebugEnabled()) {

log.debug("Sftp list from: " + from);

}

ensureFrom();

result = channel.ls(from);

} else {

throw new PaxmlRuntimeException("Unknown sftp action: " + action);

}

return result;

}

開發者ID:niuxuetao,項目名稱:paxml,代碼行數:65,

示例15: getSFTPMatchingPathes

​點讚 2

import com.jcraft.jsch.ChannelSftp; //導入方法依賴的package包/類

private static List getSFTPMatchingPathes(String path, String[] pathStream, ArrayList arrayList, ChannelSftp fc, DateTime lastReadout, DateTimeFormatterBuilder dtfbuilder) {

int nextTokenPos = getPathTokens(path).length;

if (nextTokenPos == pathStream.length - 1) {

arrayList.add(path);

return arrayList;

}

String nextToken = pathStream[nextTokenPos];

String nextFolder = null;

try {

if (containsDateToken(nextToken)) {

Vector listDirectories = fc.ls(path);

for (Object folder : listDirectories) {

LsEntry currentFolder = (LsEntry) folder;

if (!matchDateString(currentFolder.getFilename(), nextToken)) {

continue;

}

DateTime folderTime = getFolderTime(path + currentFolder.getFilename() + "/", pathStream);

if (folderTime.isAfter(lastReadout)) {

nextFolder = currentFolder.getFilename();

getSFTPMatchingPathes(path + nextFolder + "/", pathStream, arrayList, fc, lastReadout, dtfbuilder);

}

// }

}

} else {

nextFolder = nextToken;

getSFTPMatchingPathes(path + nextFolder + "/", pathStream, arrayList, fc, lastReadout, dtfbuilder);

}

} catch (SftpException ex) {

org.apache.log4j.Logger.getLogger(DataSourceHelper.class).log(org.apache.log4j.Level.ERROR, "Cant find suitable files on the device");

}

return arrayList;

}

開發者ID:OpenJEVis,項目名稱:JECommons,代碼行數:36,

示例16: ls

​點讚 2

import com.jcraft.jsch.ChannelSftp; //導入方法依賴的package包/類

@Override

public List ls(String path) throws FileBasedHelperException {

try {

List list = new ArrayList<>();

ChannelSftp channel = getSftpChannel();

Vector vector = channel.ls(path);

for (LsEntry entry : vector) {

list.add(entry.getFilename());

}

channel.disconnect();

return list;

} catch (SftpException e) {

throw new FileBasedHelperException("Cannot execute ls command on sftp connection", e);

}

}

開發者ID:apache,項目名稱:incubator-gobblin,代碼行數:16,

示例17: call

​點讚 2

import com.jcraft.jsch.ChannelSftp; //導入方法依賴的package包/類

@Override

@SuppressWarnings("unchecked")

public StatInfo[] call() throws IOException, CancellationException, JSchException, ExecutionException, InterruptedException, SftpException {

if (!path.startsWith("/")) { //NOI18N

throw new FileNotFoundException("Path is not absolute: " + path); //NOI18N

}

List result = null;

SftpException exception = null;

if (LOG.isLoggable(Level.FINE)) {

LOG.log(Level.FINE, "{0} started", getTraceName());

}

String threadName = Thread.currentThread().getName();

Thread.currentThread().setName(PREFIX + ": " + getTraceName()); // NOI18N

int attempt = 1;

try {

for (; attempt <= LS_RETRY_COUNT; attempt++) {

ChannelSftp cftp = getChannel();

RemoteStatistics.ActivityID lsLoadID = RemoteStatistics.startChannelActivity("lsload", path); // NOI18N

try {

List entries = (List) cftp.ls(path);

result = new ArrayList<>(Math.max(1, entries.size() - 2));

for (LsEntry entry : entries) {

String name = entry.getFilename();

if (!".".equals(name) && !"..".equals(name)) { //NOI18N

SftpATTRS attrs = entry.getAttrs();

//if (!(attrs.isDir() || attrs.isLink())) {

// if ( (attrs.getPermissions() & S_IFMT) != S_IFREG) {

// // skip not regular files

// continue;

// }

//}

result.add(createStatInfo(path, name, attrs, cftp));

}

}

exception = null;

break;

} catch (SftpException e) {

exception = e;

if (e.id == SftpIOException.SSH_FX_FAILURE) {

if (LOG.isLoggable(Level.FINE)) {

LOG.log(Level.FINE, "{0} - exception while attempt {1}", new Object[]{getTraceName(), attempt});

}

if (MiscUtils.mightBrokeSftpChannel(e)) {

cftp.quit();

}

} else {

// re-try in case of failure only

// otherwise consider this exception as unrecoverable

break;

}

} finally {

RemoteStatistics.stopChannelActivity(lsLoadID);

releaseChannel(cftp);

}

}

} finally {

Thread.currentThread().setName(threadName);

}

if (exception != null) {

if (LOG.isLoggable(Level.FINE)) {

LOG.log(Level.FINE, "{0} failed", getTraceName());

}

throw decorateSftpException(exception, path);

}

if (LOG.isLoggable(Level.FINE)) {

LOG.log(Level.FINE, "{0} finished in {1} attempt(s)", new Object[]{getTraceName(), attempt});

}

return result == null ? new StatInfo[0] : result.toArray(new StatInfo[result.size()]);

}

開發者ID:apache,項目名稱:incubator-netbeans,代碼行數:73,

示例18: scanRecursive

​點讚 2

import com.jcraft.jsch.ChannelSftp; //導入方法依賴的package包/類

void scanRecursive(ChannelSftp channel, String path) throws SftpException, SQLException {

if (progressListener != null) progressListener.onNewDir(path);

List entries = channel.ls(path);

for (ChannelSftp.LsEntry entry : entries) {

if (".".equals(entry.getFilename()) || "..".equals(entry.getFilename()))

continue;

SftpATTRS attrs = entry.getAttrs();

if (attrs.isDir()) {

scanRecursive(channel, path + File.separator + entry.getFilename());

}

else {

String name = entry.getFilename().toLowerCase();

int extensionPos = name.indexOf(".mp3");

if (extensionPos == -1)

continue;

String base = name.substring(0, extensionPos);

Song song = new Song();

String fullPath = path + File.separator + name;

fullPathArg.setValue(fullPath);

if (songDao.query(songInDbQuery).isEmpty()) {

Log.v(TAG, "adding to db: " + fullPath);

song.setFullPath(fullPath);

song.setName(base);

songDao.create(song);

String wordsSource = path.toLowerCase() + File.separator + base;

Matcher matcher = wordPattern.matcher(wordsSource);

for (; matcher.find(); ) {

WordMatch word = new WordMatch();

String wordStr = matcher.group(1);

word.setWord(wordStr);

word.setSong(song);

wordDao.create(word);

}

}

else {

Log.v(TAG, "already in db: " + fullPath);

}

}

}

}

開發者ID:egueli,項目名稱:ETStreamHome,代碼行數:47,

示例19: getSFTPMatchedFileNames

​點讚 2

import com.jcraft.jsch.ChannelSftp; //導入方法依賴的package包/類

public static List getSFTPMatchedFileNames(ChannelSftp _channel, DateTime lastReadout, String filePath) {

filePath = filePath.replace("\\", "/");

String[] pathStream = getPathTokens(filePath);

String startPath = "";

if (filePath.startsWith("/")) {

startPath = "/";

}

List folderPathes = getSFTPMatchingPathes(startPath, pathStream, new ArrayList(), _channel, lastReadout, new DateTimeFormatterBuilder());

// System.out.println("foldersize,"+folderPathes.size());

List fileNames = new ArrayList();

if (folderPathes.isEmpty()) {

org.apache.log4j.Logger.getLogger(DataSourceHelper.class).log(org.apache.log4j.Level.ERROR, "Cant find suitable folder on the device");

return fileNames;

}

if (folderPathes.isEmpty()) {

org.apache.log4j.Logger.getLogger(DataSourceHelper.class).log(org.apache.log4j.Level.ERROR, "Cant find suitable folder on the device");

return fileNames;

}

String fileNameScheme = pathStream[pathStream.length - 1];

String currentfolder = null;

try {

for (String folder : folderPathes) {

// fc.changeWorkingDirectory(folder);

// System.out.println("currentFolder,"+folder);

currentfolder = folder;

// for (FTPFile file : fc.listFiles(folder)) {

// System.out.println(file.getName());

// }

// Vector ls = _channel.ls(folder);

for (Object fileName : _channel.ls(folder)) {

LsEntry currentFile = (LsEntry) fileName;

String currentFileName = currentFile.getFilename();

currentFileName = removeFoler(currentFileName, folder);

boolean match = false;

System.out.println(currentFileName);

if (DataSourceHelper.containsTokens(fileNameScheme)) {

boolean matchDate = matchDateString(currentFileName, fileNameScheme);

DateTime folderTime = getFileTime(folder + currentFileName, pathStream);

boolean isLater = folderTime.isAfter(lastReadout);

if (matchDate && isLater) {

match = true;

}

} else {

Pattern p = Pattern.compile(fileNameScheme);

Matcher m = p.matcher(currentFileName);

match = m.matches();

}

if (match) {

fileNames.add(folder + currentFileName);

}

}

}

} catch (Exception ex) {

org.apache.log4j.Logger.getLogger(DataSourceHelper.class).log(org.apache.log4j.Level.ERROR, "Error while searching a matching file");

org.apache.log4j.Logger.getLogger(DataSourceHelper.class).log(org.apache.log4j.Level.ERROR, "Folder: " + currentfolder);

org.apache.log4j.Logger.getLogger(DataSourceHelper.class).log(org.apache.log4j.Level.ERROR, "FileName: " + fileNameScheme);

org.apache.log4j.Logger.getLogger(DataSourceHelper.class).log(org.apache.log4j.Level.ERROR, ex.getMessage());

}

if (folderPathes.isEmpty()) {

org.apache.log4j.Logger.getLogger(DataSourceHelper.class).log(org.apache.log4j.Level.ERROR, "Cant find suitable files on the device");

}

// System.out.println("filenamesize"+fileNames.size());

return fileNames;

}

開發者ID:OpenJEVis,項目名稱:JECommons,代碼行數:69,

注:本文中的com.jcraft.jsch.ChannelSftp.ls方法示例整理自Github/MSDocs等源碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值