Cet article décrit la classe d'outils de téléchargement et de téléchargement de fichiers implémentée par Java. Partagez-le pour votre référence, comme suit:
Il s'agit d'une classe d'outils qui utilise le langage Java pour télécharger et télécharger des fichiers dans l'environnement Eclipse. Comme la classe d'outils de téléchargement et de téléchargement de fichiers C # introduit auparavant, afin d'éviter la duplication des noms de fichiers dans le serveur, le nom de fichier du serveur est utilisé sous la forme de "Time du serveur (défini aux millisecondes) + Nom de fichier + suffixe de fichier"; Pendant le processus de téléchargement, Spring MVC Responseentity est utilisé pour le téléchargement de fichiers, qui renvoie un flux d'octets. Une fois le téléchargement réussi, le chemin d'enregistrement du fichier peut être personnalisé.
Le code source spécifique est le suivant:
package com.utils; importer java.io.file; import java.io.ioexception; import java.io.inputStream; import java.io.unsupportedEncodingException; import java.text.simpledateformat; import java.util.date; import org.apache.cocmons.io.filetils; import; org.springframework.http.httpheaders; import org.springframework.http.httpstatu; import org.springframework.http.mediaType; import org.springframework.http.Ressuventity; / ** * upload et téléchargement de la classe d'outils * / classe publique ** ** ** up upload et téléchargement de la classe d'outils * Répertoire selon le chemin. S'il n'y a pas de répertoire, créez le répertoire * * @param path * / private static void créeDir (String path) {file filedir = new file (path); if (! filedir.exists () &&! filedir.isDirectory ()) {// Déterminez si le répertoire / téléchargement a filedir.mkdir (); // Créer le répertoire}} / ** * Analyser le nom du fichier dans le chemin de téléchargement du fichier * * @param filename * @rern Name Towed to the Server * / Public Static String Transpath (String Transpath (String Nom, `` Nom de la chaîne) ' Createdir (Path); Date de date = new Date (); SimpledateFormat DateFormat = new SimpledateFormat ("yyyymmddhhmmsssss"); // définir à des milliseconds string nowstr = dateFormat.format (date); String filenamestr = filename.substring (0, filename.lastIndexof (".")); // supprimer le nom de fichier du suffixe de chaîne suffix = filename.substring (filename.lastidexof (".") + 1); // suffix si (filename.trim ()! = "") Le fichier n'existe pas de chemin + = "//" + filenamestr + nowstr + "." + suffixe; // définir le chemin de téléchargement} chemin de retour; } / ** * Rappeler le téléchargement du fichier * * @param nom de filen * @param path * @return * / public static réponse <yte []> downloadfile (String filename, String Path) {try {filename = new String (filename.getbytes ("gb2312"), "iso_8859_1"); / (UnsupportEnCoDingException E1) {e1.printStackTrace (); } Fichier fichier = nouveau fichier (chemin); En-têtes httpheaders = new httpheaders (); En-thers.setContentType (mediaType.Application_octet_stream); headers.setContentDispositionFormData ("attachement", nom de fichier); Responsentity <byte []> bytearr = null; try {bytearr = new réponsentity <byte []> (fileUtils.readFileToByTearray (fichier), en-têtes, httpstatus.ok); } catch (ioException e) {e.printStackTrace (); } return bytearr; } / ** * Écrivez les données du flux d'entrée vers un tableau d'octets * * @param dans * @return * / public static byte [] inputStream2ByTearray (inputStream in, boolean isClose) {byte [] byTarray = null; essayez {int total = in.available (); bytearray = nouveau octet [total]; in.read (bytearray); } catch (ioException e) {e.printStackTrace (); } enfin {if (isClose) {try {in.close (); } catch (exception e2) {System.out.println ("Close Churn a échoué"); }}} return bytearray; }}Pour plus d'informations sur les algorithmes Java, les lecteurs qui sont intéressés par ce site peuvent afficher les sujets: "Résumé des fichiers Java et des compétences de l'opération de répertoire", "Tutoriel sur les structures de données Java et les algorithmes", "Résumé des compétences de nœuds de l'opération Java" »et" Résumé des compétences de l'opération Java Cache "
J'espère que cet article sera utile à la programmation Java de tous.