让我们一起爱米兰
站内搜搜:
移动设备
请扫描二维码
或访问
m.milan100.com
您所在的位置 -> 米兰百分百 -> android相关 -> android下载文件到SD卡带进度条

android下载文件到SD卡带进度条

点击数:2874 发表时间:2015-10-27 14:10:04 作者: 来源链接:
分享到:
分享到微信
   
	try {
	//set the download URL, a url that points to a file on the internet
	//this is the file to be downloaded
	URL url = new URL("http://somewhere.com/some/webhosted/file");   
	//create the new connection
	HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();   
	//set up some things on the connection
	urlConnection.setRequestMethod("GET");
	urlConnection.setDoOutput(true);   
	//and connect!
	urlConnection.connect();   
	//set the path where we want to save the file
	//in this case, going to save it on the root directory of the
	//sd card.
	File SDCardRoot = Environment.getExternalStorageDirectory();
	//create a new file, specifying the path, and the filename
	//which we want to save the file as.
	File file = new File(SDCardRoot,"somefile.ext");   
	//this will be used to write the downloaded data into the file we created
	FileOutputStream fileOutput = new FileOutputStream(file);   
	//this will be used in reading the data from the internet
	InputStream inputStream = urlConnection.getInputStream();   
	//this is the total size of the file
	int totalSize = urlConnection.getContentLength();
	//variable to store total downloaded bytes
	int downloadedSize = 0;   
	//create a buffer...
	byte[] buffer = new byte[1024];
	int bufferLength = 0; //used to store a temporary size of the buffer   
	//now, read through the input buffer and write the contents to the file
	while ( (bufferLength = inputStream.read(buffer)) > 0 ) {
	//add the data in the buffer to the file in the file output stream (the file on the sd card
	fileOutput.write(buffer, 0, bufferLength);
	//add up the size so we know how much is downloaded
	downloadedSize += bufferLength;
	//this is where you would do something to report the prgress, like this maybe
	updateProgress(downloadedSize, totalSize);   
	}
	//close the output stream when done
	fileOutput.close();   
	//catch some possible errors...
	} catch (MalformedURLException e) {
	e.printStackTrace();
	} catch (IOException e) {
	e.printStackTrace();
	}
1
很 好
0
一 般
2
差 劲
热门新闻
相关文章
上一篇: android平台下单位px,dip,sp的区别
下一篇: adb工具的使用
评论区
匿名

返回首页 | 收藏本页 | 回到顶部
Copyright 2010. 米兰百分百 Powered By Bridge.
京ICP备15050557号