怎么用Java获取远程服务器中指定目录上的所有文件夹名

2024-12-19 08:01:32
推荐回答(2个)
回答1:

------解决方案-------------------------------------------------------- 不用 C/S 模式,需要系统开发权限,文件夹权限,匿名访问等等,然后可以使用普通方式 \\10.10...访问 ------解决方案-------------------------------------------------------- 你的java 是在服务器还是客户端,服务器,那个就不消说了,File.list 系列方法,配合过滤器 客户端的,需要httpclient,解析apache 的directory index 页面。 ------解决方案-------------------------------------------------------- 用java 调用命令行吧,硬来效率太低,Apache Commons CLI ------解决方案-------------------------------------------------------- 可以用ftpClient: public FtpClientUtil(String server,int port,String userName,String userPassword) { this.server=server; this.port=port; this.userName=userName; this.userPassword=userPassword; } /** * 链接到服务器 * @return */ public boolean open() { if(ftpClient!=null ftpClient.serverIsOpen()) return true; try { ftpClient= new FtpClient(); ftpClient.openServer(server,port); ftpClient.login(userName, userPassword); ftpClient.binary(); return true; } catch(Exception e) { e.printStackTrace(); ftpClient=null; return false; } } /** * 返回FTP 目录下的文件列表 * @param ftpDirectory * @return */ public List String getFileNameList(String ftpDirectory) { List String list = new ArrayList String (); if(!open()) return list; try { DataInputStream dis = new DataInputStream(ftpClient.nameList(ftpDirectory)); String filename = ; while((filename=dis.readLine())!=null) { list.add(filename); } } catch (Exception e) { e.printStackTrace(); } return list; }

回答2:

直接的貌似不可以的,你可以在远程服务器上写个读指定目录下所有文件夹名的代码文件,当前客户端再调用那个代码文件显示出来