/** * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE, Version 3, 29 June 2007; * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.gnu.org/licenses/lgpl-3.0.txt * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE, Version 3, 29 June 2007; * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.gnu.org/licenses/lgpl-3.0.txt * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.kevoree.tools.war.wrapperplugin; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; /** * Created by IntelliJ IDEA. * User: duke * Date: 16/12/11 * Time: 15:24 * To change this template use File | Settings | File Templates. */ public class UrlHelper { public static String getFile(String host, File output) { InputStream input = null; FileOutputStream writeFile = null; String fileName = null; try { URL url = new URL(host); URLConnection connection = url.openConnection(); int fileLength = connection.getContentLength(); if (fileLength == -1) { System.out.println("Invalide URL or file."); return fileName; } input = connection.getInputStream(); fileName = url.getFile().substring(url.getFile().lastIndexOf('/') + 1); if (!output.exists()) { ZipHelper.createParentDirs(output); output.createNewFile(); } writeFile = new FileOutputStream(output); byte[] buffer = new byte[1024]; int read; while ((read = input.read(buffer)) > 0) writeFile.write(buffer, 0, read); writeFile.flush(); } catch (IOException e) { System.out.println("Error while trying to download the file."); e.printStackTrace(); } finally { try { writeFile.close(); input.close(); } catch (IOException e) { e.printStackTrace(); } } return fileName; } }