我有一个网络服务器,用于存储http://user.mysite.com/content
的文件
现在我想在我的Android应用程序中实现的是下载用户可以在此服务器上传的每个文件,我已经在android中创建了可以下载文件并将其存储到sdcard中的函数,如下所示:
public void doDownload(){
try {
int count;
URL url = new URL("http://user.mysite.com/content");
URLConnection connection = url.openConnection();
connection.connect();
int lengthOfFile = connection.getContentLength();
long total = 0;
InputStream input = new BufferedInputStream(url.openStream());
OutputStream output = new FileOutputStream(f);
byte data[] = new byte[1024];
while ((count = input.read(data)) != -1) {
total += count;
publishProgress((int)(total/1024),lengthOfFile/1024);
output.write(data, 0, count);
}
output.flush();
output.close();
input.close();
}
catch (Exception e) {
Log.e("Download Error: ", e.toString());
}
}
如何检索服务器上的文件列表和这些文件的URL +文件名称,并使用循环将其中的每一个下载到应用程序上?
要获取文件列表,我有一些事情列出这个:
public List clientServerFileList(){
URL url;
List serverDir = null;
try {
url = new URL("http://user.mysite.com/content/");
ApacheURLLister lister = new ApacheURLLister();
serverDir = lister.listAll(url);
}
catch (Exception e) {
e.printStackTrace();
Log.e("ERROR ON GETTING FILE","Error is " +e);
}
System.out.println(serverDir);
return serverDir;
}
我的服务器是:Apache / 2.2.24(Unix)mod_ssl / 2.2.24 OpenSSL / 1.0.0-fips mod_auth_passthrough / 2.1 mod_bwlimited / 1.4 FrontPage / 5.0.2.2635服务器at user.mysite.com端口80
答案 0 :(得分:0)