/**
* 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;
}
}