1

我正在制作一个 android 应用程序,该应用程序需要我从应用程序的 /files 路径中的本地远程目录下载所有图像。我需要知道如何获取该目录中所有文件(所有图像)的列表,以便我可以将它们全部下载到手机上。我找到了列出本地目录中文件的代码,但我需要知道如何为远程目录做同样的事情(该目录是一个不需要登录的 http 目录)

String path = "."; 

String files;
File folder = new File(path);
File[] listOfFiles = folder.listFiles(); 

for (int i = 0; i < listOfFiles.length; i++) 
{

 if (listOfFiles[i].isFile()) 
 {
   files = listOfFiles[i].getName();
   System.out.println(files);
 }
}

此外,一旦我在目录中获得图像的名称,我将使用此工作代码下载图像。

private void storeImage(String filename)
{
  FileOutputStream out = null;
  try
  {
    URL url = new URL(Consts.IMAGES_BASE_URL + filename);
    InputStream is = (InputStream) url.getContent();
    Bitmap bm = BitmapFactory.decodeStream(is);
    out = context.openFileOutput(filename, Context.MODE_WORLD_READABLE);

    File file = new File(context.getFilesDir().toString(), filename);
    out = new FileOutputStream(file);

    if(isPNG(filename))//isPNG just parses out the extension
      bm.compress(Bitmap.CompressFormat.PNG, 85, out);
    else if(isJPG(filename))
      bm.compress(Bitmap.CompressFormat.JPEG, 85, out);

  } catch (MalformedURLException e)
  {
    e.printStackTrace();
  } catch (IOException e)
  {
    e.printStackTrace();
  }
  finally
  {
    try
    {
      out.flush();
      out.close();
    } catch (IOException e)
    {
      e.printStackTrace();
    }
  }

}

任何帮助表示赞赏

4

0 回答 0