java客户端怎么将服务器端的某一个文件夹下所有的文件都下载下来
java客户端如何将服务器端的某一个文件夹下所有的文件都下载下来
现在有这样一个需求:服务器A(用Tomcat服务器搭建的)、客户端B,现在客户端B想把服务器端A下的一个文件夹下的所有文件都下载下来,请问应该如何实现。
------解决思路----------------------
public List<String[]> getFileList(String path) throws IOException {
if(path == null) return null;
if(!checkFtpConnect()) return null;
path = new String(path.getBytes("utf-8"), "ISO-8859-1");
FTPFile[] ftpFiles= ftpClient.listFiles(path);
List<String[]> retList = new ArrayList<String[]>();
if (ftpFiles == null
------解决思路----------------------
ftpFiles.length == 0) {
return null;
}
for (FTPFile ftpFile : ftpFiles) {
if (ftpFile.isFile()) {
retList.add(getFileInfo(ftpFile));
}else {
retList.add(getFileDirectory(ftpFile));
}
}
return retList;
}
首先遍历目标文件夹下的文件,是文件就直接下载,文件夹的话就再遍历该文件夹,用到了回调
------解决思路----------------------
tomcat什么特定端口?webdav/ftp/sshd?不是这类端口你是没有权限去下载文件的,怎么可能随便让一个客户端就可以连服务器取文件?操作系统一层需要先提供文件下载的接口,web项目里面没见过用URLConnection下文件的,URLConnection一般都是用来做http html抓页面
现在有这样一个需求:服务器A(用Tomcat服务器搭建的)、客户端B,现在客户端B想把服务器端A下的一个文件夹下的所有文件都下载下来,请问应该如何实现。
------解决思路----------------------
public List<String[]> getFileList(String path) throws IOException {
if(path == null) return null;
if(!checkFtpConnect()) return null;
path = new String(path.getBytes("utf-8"), "ISO-8859-1");
FTPFile[] ftpFiles= ftpClient.listFiles(path);
List<String[]> retList = new ArrayList<String[]>();
if (ftpFiles == null
------解决思路----------------------
ftpFiles.length == 0) {
return null;
}
for (FTPFile ftpFile : ftpFiles) {
if (ftpFile.isFile()) {
retList.add(getFileInfo(ftpFile));
}else {
retList.add(getFileDirectory(ftpFile));
}
}
return retList;
}
首先遍历目标文件夹下的文件,是文件就直接下载,文件夹的话就再遍历该文件夹,用到了回调
------解决思路----------------------
tomcat什么特定端口?webdav/ftp/sshd?不是这类端口你是没有权限去下载文件的,怎么可能随便让一个客户端就可以连服务器取文件?操作系统一层需要先提供文件下载的接口,web项目里面没见过用URLConnection下文件的,URLConnection一般都是用来做http html抓页面