下载远程url文件(或者文件流)到本地
这里的remoteFilePath 为远程文件,可理解为就是一个文件地址(实际可能为返回的文件流)
/**
* 获取远程文件
* @param remoteFilePath 远程文件路径
* @param localFilePath 本地文件路径
*/
public void downloadFile(String remoteFilePath, String localFilePath)
{
URL urlfile = null;
HttpURLConnection httpUrl = null;
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
String fileName = "mcsetup.exe";
String ramdom = System.currentTimeMillis() + ""
+ new Random().nextInt(100) + new Random().nextInt(100)
+ new Random().nextInt(100) + getSequence();
fileName = ramdom + "_" + fileName;
File f = new File(localFilePath+fileName);
try
{
urlfile = new URL(remoteFilePath);
httpUrl = (HttpURLConnection)urlfile.openConnection();
httpUrl.connect();
bis = new BufferedInputStream(httpUrl.getInputStream());
bos = new BufferedOutputStream(new FileOutputStream(f));
int len = 2048;
byte[] b = new byte[len];
while ((len = bis.read(b)) != -1)
{
bos.write(b, 0, len);
}
bos.flush();
bis.close();
httpUrl.disconnect();
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try
{
bis.close();
bos.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}