Plusieurs façons de télécharger des fichiers Java, comme suit:
Public HttpServletResponse Download (String Path, HttpServletResponse Response) {try {// Le chemin se réfère au chemin du fichier à télécharger. Fichier fichier = nouveau fichier (chemin); // Obtenez le nom du fichier. String filename = file.getName (); // Obtenez le nom du suffixe du fichier. String ext = filename.substring (filename.LastIndexof (".") + 1) .ToupperCase (); // Téléchargez le fichier sous la forme d'un flux. InputStream fis = new BufferedInputStream (new FileInputStream (path)); octet [] buffer = nouveau octet [fis.available ()]; fis.read (tampon); fis.close (); // Réponse de réponse claire. Response.RESET (); // Définit l'en-tête de réponse.AddHeader ("Content-Disposition", "Pixe; FileName =" + New String (filename.getBytes ())); Response.AddHeader ("Content-Length", "" + File.Length ()); OutputStream toClient = new BufferedOutputStream (Response.getOutputStream ()); Response.SetContentType ("Application / Octet-Stream"); ToClient.write (tampon); toClient.flush (); toClient.close (); } catch (ioException ex) {ex.printStackTrace (); } Retour Response; } public void downloadLocal (HttpServletResponse Response) lève filenotfoundException {// Télécharger la chaîne de fichiers locaux fileName = "operator.doc" .toString (); // le nom de sauvegarde par défaut du fichier // read inputStream instream = new FileInputStream ("c: /operator.doc"); // le chemin de stockage du fichier // définit le format de la sortie réponse.reset (); réponse.setContentType ("bin"); Response.AddHeader ("Content-Disposition", "Pixe; FileName = /" "+ FileName +" / ""); // Loucle les données dans l'octet de flux [] b = nouveau octet [100]; int len; try {while ((len = insiteam.read (b))> 0) réponse.getOutputStream (). write (b, 0, len); instream.close (); } catch (ioException e) {e.printStackTrace (); }} public void downloadNet (HttpServletResponse Response) lève MalformEdUrException {// Télécharger le fichier réseau int bytesum = 0; int bytereread = 0; Url url = new URL ("windine.blogdriver.com/logo.gif"); essayez {urlConnection conn = url.openconnection (); InputStream insiteam = Conn.getInputStream (); FileoutputStream fs = new FileOutputStream ("c: /abc.gif"); octet [] tampon = nouveau octet [1204]; longueur int; while ((byteread = insiteam.read (tampon))! = -1) {bytesum + = byterEad; System.out.println (bytesum); fs.write (tampon, 0, byteread); }} catch (filenotFoundException e) {e.printStackTrace (); } catch (ioException e) {e.printStackTrace (); }}// un moyen d'ouvrir des fichiers en ligne
Public Void Download (String Filepath, HttpServletResponse Response, boolean iSonline) lève une exception {fichier f = nouveau fichier (filepath); if (! f.exists ()) {Response.Senderror (404, "Fichier introuvable!"); retour; } BufferedInputStream br = new BufferedInputStream (new FileInputStream (f)); octet [] buf = nouveau octet [1024]; int len = 0; réponse.RESET (); // très important if (iSonline) {// Méthode ouverte en ligne URL U = new URL ("fichier: ////" + filepath); réponse.setContentType (U.OpenConnection (). GetContentType ()); Response.sethEader ("Content-Disposition", "inline; filename =" + f.getName ()); // Le nom de fichier doit être codé sous la forme utf-8} else {// pure download method toit.setContentType ("application / x-msdownload"); Response.sethEader ("Content-Disposition", "attachement; filename =" + f.getName ()); } OutputStream Out = Response.getOutputStream (); while ((len = br.read (buf))> 0) out.write (buf, 0, len); br.close (); out.close (); }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.