有时候我们需要进行网络连接下载指定连接的数据。例如是一个更新的APK文件,我们需要将它下载并保存。
以下代码可以参考:
try {
URL url = new URL(params[0]);
HttpURLConnection connection = (HttpURLConnection) url
.openConnection();
connection.setConnectTimeout(10 * 1000);
connection.connect();
if (connection.getResponseCode() == HttpStatus.SC_OK) {
File file = new File("/mnt/sdcard/fucking/dd.apk");
file.createNewFile();
InputStream inputStream = connection.getInputStream();
ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024 * 10];
while (true) {
int len = inputStream.read(buffer);
publishProgress(len);
if (len == -1) {
break;
}
arrayOutputStream.write(buffer, 0, len);
}
arrayOutputStream.close();
inputStream.close();
byte[] data = arrayOutputStream.toByteArray();
FileOutputStream fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(data);
fileOutputStream.close();
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}