如何在java中下载大型文件(大小> 50MB) [英] How to download large sized Files (size > 50MB) in java
本文介绍了如何在java中下载大型文件(大小> 50MB)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在从远程位置下载文件,下载对于较小尺寸的文件是完整的,对于大尺寸文件(> 10 MB)则是完整的。这是我用来从远程服务器下载文件的代码。
I'm downloading files from a remote location, and the download is complete for smaller sized files and in-complete for large sized files (>10 MB). Here is my code that i have used for downloading files from remote server .
File dstFile = null;
// check the directory for existence.
String dstFolder = LOCAL_FILE.substring(0,LOCAL_FILE.lastIndexOf(File.separator));
if(!(dstFolder.endsWith(File.separator) || dstFolder.endsWith("/")))
dstFolder += File.separator;
// Creates the destination folder if doesn't not exists
dstFile = new File(dstFolder);
if (!dstFile.exists()) {
dstFile.mkdirs();
}
try {
URL url = new URL(URL_LOCATION);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.addRequestProperty("User-Agent", "Mozilla/4.76");
//URLConnection connection = url.openConnection();
BufferedInputStream stream = new BufferedInputStream(connection.getInputStream());
int available = stream.available();
byte b[]= new byte[available];
stream.read(b);
File file = new File(LOCAL_FILE);
OutputStream out = new FileOutputStream(file);
out.write(b);
} catch (Exception e) {
System.err.println(e);
VeBLogger.getInstance().log( e.getMessage());
}
推荐答案
你可以使用 apache commons IO library 。
这很容易。我在很多项目中都使用过它。
You can use apache commons IO library. It's easy. I have used it in many projects.
File dstFile = null;
// check the directory for existence.
String dstFolder = LOCAL_FILE.substring(0,LOCAL_FILE.lastIndexOf(File.separator));
if(!(dstFolder.endsWith(File.separator) || dstFolder.endsWith("/")))
dstFolder += File.separator;
// Creates the destination folder if doesn't not exists
dstFile = new File(dstFolder);
if (!dstFile.exists()) {
dstFile.mkdirs();
}
try {
URL url = new URL(URL_LOCATION);
FileUtils.copyURLToFile(url, dstFile);
} catch (Exception e) {
System.err.println(e);
VeBLogger.getInstance().log( e.getMessage());
}
这篇关于如何在java中下载大型文件(大小> 50MB)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文