linux java读取文件夹下文件名,Java获取Linux上指定文件夹下所有第一级子文件夹...

该博客介绍了如何使用Java通过SSH2库连接到远程Linux服务器,遍历并获取指定目录下的第一级子文件夹名称。代码中展示了建立SSH连接,执行`ls -ld */`命令来获取文件夹信息,并解析输出以提取子文件夹名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明:需要只获得第一级文件夹目录

package com.sunsheen.jfids.studio.monitor.utils;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.util.ArrayList;

import java.util.List;

import org.eclipse.core.runtime.Assert;

import ch.ethz.ssh2.ChannelCondition;

import ch.ethz.ssh2.Connection;

import ch.ethz.ssh2.StreamGobbler;

/**

* 遍历出远程服务器上指定目录下的所有文件夹

*

* @author WangSong

*

*/

public class GetAllSubfolders {

private GetAllSubfolders(){}

/**

* 得到服务器上指定文件夹下所有子文件夹(第一级子文件夹)

* @return

*/

public static List getSubfolderName(String romoteAddr,String username,

String password,String targetFolder) {

List folderNameList = new ArrayList();

try {

Connection connection = new Connection(romoteAddr);// 创建一个连接实例

connection.connect();// Now connect

boolean isAuthenticated = connection.authenticateWithPassword(username, password);//認證

Assert.isTrue(isAuthenticated, "用戶名或密碼錯誤!");

ch.ethz.ssh2.Session sess = connection.openSession();// 創建一個會話

sess.requestPTY("bash");

sess.startShell();

InputStream stdout = new StreamGobbler(sess.getStdout());

InputStream stderr = new StreamGobbler(sess.getStderr());

BufferedReader stdoutReader = new BufferedReader(new InputStreamReader(stdout));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值