Ayer, cuando estaba trabajando en un proyecto, utilicé el conocimiento de descargar archivos del servidor y guardarlos en el área local. Nunca antes había estado expuesto a ellos. Trabajé en ellos durante un día ayer y se implementó esta pequeña función. Hablemos brevemente sobre el proceso de implementación a continuación;
1. Conocimiento básico
Cuando queramos descargar un recurso en el sitio web, obtendremos una URL, que es una descripción de la ubicación de recursos del servidor. El proceso de descarga tiene los siguientes pasos:
(1) El cliente inicia una solicitud de URL para obtener el objeto de conexión.
(2) El servidor analiza la URL y devuelve el recurso especificado al cliente.
(3) Cree el directorio almacenado y el nombre de archivo guardado.
(4) Se emiten datos de escritura.
(5) Apague la secuencia de entrada y la secuencia de salida.
2. Métodos para implementar el código
/** * @Function Descargue la interfaz de material temporal * @param filepath El directorio que se guardará en el archivo * @param Método Método de solicitud, incluyendo publicar y obtener * @param Url la ruta para solicitar * @return */public static Archives (URL de cadena, cadena FilePath, String Method) {//system.Println ébal. // crear archivos de directorios de carpetas diferentes archivo = nuevo archivo (filepath); // Determine si la carpeta existe if (! File.exists ()) {// Si la carpeta no existe, cree una nueva carpeta file.mkdirs (); } FileOutputStream fileOut = null; Httpurlconnection conn = null; InputStream InputStream = null; Pruebe {// cree un enlace url httpurl = new url (url); conn = (httpurlconnection) httpurl.openconnection (); // Enviar el formulario en modo Post, el método GET predeterminado es conn.setRequestMethod (método); Conn.setDoInput (verdadero); Conn.setDoOutput (verdadero); // El caché conn.setUsecaches (falso); // Conecte el recurso especificado conectado.connect (); // Obtener la transmisión de red de red inputStream = conn.getInputStream (); BufferedInputStream BIS = new BufferedInputStream (InputStream); // Determinar si la ruta de guardado del archivo termina con/if (! FilePath.endswith ("/")) {filepath += "/"; } // Escriba en el archivo (tenga en cuenta que el nombre del archivo debe agregarse después de la ruta de guardar el archivo) fileOut = new FileOutputStream (FilePath+"123.png"); BufferedOutputStream Bos = new BufferedOutputStream (FileOut); byte [] buf = nuevo byte [4096]; int longitud = bis.read (buf); // Guardar el archivo while (longitud! = -1) {bos.write (buf, 0, longitud); longitud = bis.read (buf); } bos.close (); bis.close (); conn.disconnect (); } catch (Exception e) {E.PrintStackTrace (); System.out.println ("¡Lanza una excepción!"); } archivo de retorno; } 3. Clay Class (función principal)
/** * @param args */public static void main (string [] args) {String fotourl = "https://ss0.bdstatic.com/5av1bjqh_q23odcf/static/superman/img/logo/bd_logo1_31bdc765.png";; Cadena filename = photourl.substring (fotourl.lastindexof ("/")); //System.out.println("FileName---->"+FileName); Cadena filepath = "d:"; Archivo archivo = saveurlas (fotourl, filepath + nombre de archivo, "get"); System.out.println ("Ejecutar OK!/N <br> Obtenga el archivo URL" + archivo); }Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.