Hier, lorsque je travaillais sur un projet, j'ai utilisé la connaissance du téléchargement de fichiers à partir du serveur et de les enregistrer dans la région. Je ne leur ai jamais été exposé auparavant. J'ai travaillé sur eux pour une journée hier et cette petite fonction a été mise en œuvre. Parlons brièvement du processus de mise en œuvre ci-dessous;
1. Connaissances de base
Lorsque nous voulons télécharger une ressource sur le site Web, nous obtiendrons une URL, qui est une description de l'emplacement des ressources du serveur. Le processus de téléchargement a les étapes suivantes:
(1) Le client initie une demande d'URL pour obtenir l'objet de connexion.
(2) Le serveur analyse l'URL et renvoie la ressource spécifiée au client.
(3) Créez le répertoire stocké et enregistré le nom du fichier.
(4) Les données d'écriture sont sorties.
(5) Éteignez le flux d'entrée et le flux de sortie.
2. Méthodes pour implémenter le code
/ ** * @Function Télécharger l'interface de matériel temporaire * @param filepath Le répertoire à enregistrer dans le fichier * @param méthode de la demande de la demande, y compris la publication et l'obtention * @param URL le chemin de la demande * @return * / public static File SaveUrlas (URL de chaîne, String Filepath, String Method) {//system.out.println("filename--h--n--->"+filepath); // Créer différents répertoires de dossiers fichier fichier = nouveau fichier (filepath); // déterminer si le dossier existe si (! File.exists ()) {// Si le dossier n'existe pas, créez un nouveau dossier file.mkDirs (); } FileOutputStream fileout = null; Httpurlconnection conn = null; InputStream inputStream = null; essayez {// Créer un lien url httpurl = new URL (URL); Conn = (httpurlConnection) httpurl.openconnection (); // Soumettez le formulaire en mode post, la méthode GET par défaut est Conn.SetRequestMethod (méthode); Conn.SetDoInput (true); Conn.SetDoOutput (true); // le Conn.SetUsecaches (FALSE) mis en cache; // Connectez la ressource spécifiée Connected.Connect (); // obtient le flux d'entrée de réseau InputStream = Conn.getInputStream (); BufferedInputStream bis = new BufferedInputStream (InputStream); // Déterminez si le chemin de sauvegarde du fichier se termine par / if (! Filepath.endswith ("/")) {filepath + = "/"; } // Écrivez dans le fichier (notez que le nom du fichier doit être ajouté après le chemin d'enregistrement du fichier) fileout = new FileOutputStream (filepath + "123.png"); BufferedOutputStream bos = new BufferedOutputStream (fileout); octet [] buf = nouveau octet [4096]; int length = bis.read (buf); // Enregistrez le fichier while (longueur! = -1) {bos.write (buf, 0, longueur); longueur = bis.read (buf); } bos.close (); bis.close (); Conn.Disconnect (); } catch (exception e) {e.printStackTrace (); System.out.println ("Lancez une exception !!"); } return fichier; } 3. Classe de test de code (fonction principale)
/ ** * @param args * / public static void main (String [] args) {String Photourl = "https://ss0.bdstatic.com/5av1bjqh_q23odcf/static/superman/img/logo/bd_logo1_31bdc765.png"; String FileName = Photourl.SubString (Photourl.LastIndexof ("/")); //System.out.println("filename------->"+FileName); Chaîne filepath = "d:"; File file = SaveUrlas (Photourl, filepath + filename, "get"); System.out.println ("Exécuter OK! / N <br> Obtenez un fichier URL" + fichier); }Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.