Comment copier un fichier dans Jsp

Java ne propose pas un one-liner soigné et joli pour copier des fichiers. Cependant, le fichier d'entrée-sortie de Java (I / O) des classes rendent assez facile d'écrire votre propre fonctionnalité de copie de fichiers. Commencez par écrire la fonctionnalité de copie de fichier en tant que code de scriptlet directement dans votre Java ServerPages (JSP) page.

Les bases et les captures article

  1. Importez les classes Java dont vous aurez besoin pour lire et écrire des fichiers en utilisant la directive de page dans votre page JSP:

    lt;% @ la page import ="java.io. *" % Gt;

  2. Créez un bloc try-catch dans votre page JSP pour gérer IOException:

    lt;%
    try {}
    catch (IOException ex) {}
    % Gt;

  3. Gérer les erreurs IOException l'intérieur de la clause catch comme nécessaire pour la page JSP à l'échec gracieusement. Imprimez le message d'exception dans des couleurs criantes dans la page JSP en brisant sur le code de scriptlet:

    catch (IOException ex) {% gt;

    lt;% = ex.getMessage ()% gt;

    lt;%}

Le bloc try

  1. Ouvrez le fichier source (le fichier que vous souhaitez copier) et le fichier de destination (où la copie sera écrit) à l'intérieur du bloc try. SrcFileName et dstFileName sont des variables de chaîne contenant le chemin et le nom de chaque fichier:




    Déposer SRCFILE = new File (srcFileName)
    GO
    Déposer dstFile = new File (dstFileName);

  2. Vérifiez que le fichier source existe, et de jeter une IOException si elle ne le fait pas:

    if (! srcFile.exists ()) {
    throw new IOException ("Pas de fichier source: " + SrcFileName)
    GO
    }

  3. Vérifiez que le fichier de destination existe et est accessible en écriture. Jetez un IOException si elle est pas:

    if (dstFile.exists ()) {
    if (! dstFile.canWrite ()) {

    throw new IOException ("-Destinations lecture seule: "- + dstFileName)

    GO
    }
    }
    else {
    throw new IOException ("Destinations pas été créé: " + DstFileName)
    GO
    }




  4. Open Source et de fichiers de destination des flux:

    FileInputStream srcStrm = new FileInputStream (SRCFILE)
    GO
    FileOutputStream dstStrm = new FileOutputStream (dstFile);

  5. Créez un tableau d'octets pour stocker les données:

    byte [] buf = new byte [4096];

  6. Lire à partir du flux de source et écrire dans le flux de destination dans une boucle while qui continue jusqu'à ce que toutes les données ont été lues à partir du fichier source:

    int len
    GO
    while ((len = srcStrm.read (buf)) gt; 0) {
    dstStrm.write (buf, 0, len)
    GO
    }

  7. Fermez les flux de fichiers:

    srcStrm.close ()
    GO
    dstStrm.close ();

Conseils & Avertissements

  • Prenez-le au prochain niveau en faisant votre fonctionnalité de copie de fichier ou un JavaBean classe personnalisée étiquette de gestionnaire. Créer une balise personnalisée qui prend les fichiers source et de destination en tant que paramètres. Cette pratique fera de votre méthode de copie de fichiers réutilisables et de garder votre page JSP sans code scriptlet inutile.
  • Gérer toutes les exceptions. Les exceptions non gérées peuvent entraîner des visiteurs de votre site voir pages de messages d'erreur Java laides.
  • Rappelez-vous, les pages JSP sont des applications côté serveur, de sorte que la source et la destination de votre copie de fichier est sur le serveur web.
» » » » Comment copier un fichier dans Jsp