Как загрузить файл ZIp из URl и сохранить их только в виде файла Zip - PullRequest
3 голосов
/ 24 ноября 2011

У меня есть URL-адрес, как показано ниже

  http://blah.com/download.zip

Я хочу, чтобы Java-код загрузил этот Zip-файл с URL-адреса и сохранил его в своем каталоге на сервере только в виде ZIP-файла.Я также хотел бы знать, какой самый эффективный способ сделать это.

1 Ответ

1 голос
/ 24 ноября 2011

Во-первых, ваш URL , а не http:\\blah.com\download.zip.Это http://blah.com/download.zip.

Во-вторых, это просто.Вы должны выполнить HTTP-запрос GET, взять поток и скопировать его в FileOutputStream.Вот пример кода.

URL url = new URL("http://blah.com/download.zip");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
InputStream in = connection.getInputStream();
FileOutputStream out = new FileOutputStream("download.zip");
copy(in, out, 1024);
out.close();


  public static void copy(InputStream input, OutputStream output, int bufferSize) throws IOException {
    byte[] buf = new byte[bufferSize];
    int n = input.read(buf);
    while (n >= 0) {
      output.write(buf, 0, n);
      n = input.read(buf);
    }
    output.flush();
  }
...