¿Cómo llama Android a la función de archivo propia del sistema?
¿La descarga de archivos es del tipo que se descarga de Internet?
Si es así, hay una descarga http
1. Abra el archivo directamente
A. Cree un objeto URL URL = nueva URL (urlStr); esta URL puede ser directamente la dirección de descarga de la red.
B. Crea un objeto HttpURLConnection a través del objeto URL
// Crea una conexión Http
HttpURLConnection urlConn = (HttpURLConnection) url
.openConnection();
C. Obtenga el InputStram. Este flujo de entrada es equivalente a una tubería que guía los datos de la red hasta el teléfono móvil. Pero es difícil operar simplemente en InputStram. Es un flujo de bytes, así que use InputStreamReader para convertirlo en un flujo de caracteres. Luego, coloque una capa de BufferedReader encima para que se pueda leer toda la fila de datos, lo cual es muy conveniente. Ya hemos visto esto en la programación de sockets en Java.
//Leer datos usando flujo IO
buffer = new BufferedReader(new InputStreamReader(urlConn
.getInputStream()));
D. Leer datos de InputStream
while ((line = buffer.readLine()) != null) {
sb.append(line);}
2 Guarde el archivo en la tarjeta SD
SDPATH = Environment.getExternalStorageDirectory() "/"
File dir = new File(SDPATH dirName);
dir. .mkdirs();
Archivo archivo = nuevo Archivo(SDPATH dirName fileName);
file.createNewFile()
url = nueva URL(urlStr); Esta URL puede ser directamente la dirección de descarga de la red.
HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
inputStream inputStream =urlConn.getInputStream()
salida = nuevo FileOutputStream(archivo);
búfer de bytes [] = nuevo byte[4 * 1024];
while((inputStream.read(búfer)) != -1)
{
salida.write(búfer);
}//