怎么用Java获取远程服务器中指定目录上的所有文件夹名
如何用Java获取远程服务器中指定目录下的所有文件夹名
如题,假设是apache服务器上的某个路径,用Java如何获取该路径下的所有文件夹名?
------解决方案--------------------
不用C/S模式,需要系统开发权限,文件夹权限,匿名访问等等,然后可以使用普通方式\\10.10...访问
------解决方案--------------------
你的java是在服务器还是客户端,服务器,那个就不消说了,File.list系列方法,配合过滤器
客户端的,需要httpclient,解析apache的directory index页面。当前,前提是你apache开启了autoindex。
------解决方案--------------------
用java调用命令行吧,硬来效率太低,Apache Commons CLI
------解决方案--------------------
可以用ftpClient:
如题,假设是apache服务器上的某个路径,用Java如何获取该路径下的所有文件夹名?
------解决方案--------------------
不用C/S模式,需要系统开发权限,文件夹权限,匿名访问等等,然后可以使用普通方式\\10.10...访问
------解决方案--------------------
你的java是在服务器还是客户端,服务器,那个就不消说了,File.list系列方法,配合过滤器
客户端的,需要httpclient,解析apache的directory index页面。当前,前提是你apache开启了autoindex。
------解决方案--------------------
用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;
}