Java n'offre pas un one-liner soigné et joli pour la copie de fichiers . Toutefois, d'entrée-sortie (I /O) des classes de fichiers de Java , il est assez facile d'écrire votre propre fonctionnalité de copie de fichiers. Commencez par écrire la fonctionnalité de copie de fichiers que le code scriptlet directement dans vos ServerPages Java ( JSP) de la page. Instructions Les bases et Catch 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 : <% @ la page import = " java.io. * " %> 2 créer un bloc try-catch dans votre page JSP pour gérer IOException : <% try { } catch ( IOException ex) { }%> 3 gérer les erreurs de IOException à l'intérieur de la clause catch que nécessaire pour la page JSP de faire basculer . Imprimez le message d'exception en flagrant couleurs dans la page JSP en brisant sur le code scriptlet : catch ( IOException ex) { %> < style fort = " color: red; background-color : gold ; "> < % = ex.getMessage ()% > <%} le bloc try 4 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 du fichier de chaque fichier : Photos fichier SRCFILE = new File ( srcFileName ) ; dstfile fichier = new File ( dstFileName ) ; 5 Vérifiez que le fichier source existe, et jeter un IOException si elle ne fait pas: si ( srcFile.exists ( !)) {throw nouveau IOException ("Aucun fichier source :" + srcFileName );} < br > Photos 6 Vérifiez que le fichier de destination existe et est accessible en écriture . Jetez un IOException si elle n'est pas : if ( dstFile.exists ()) {if { throw new IOException ( "Destination lecture seule :" + dstFileName ) ( dstFile.canWrite ( !)) ;} } else { throw new IOException ( "Destination pas été créé :" + dstFileName );} 7 Open source et les flux de fichiers de destination : Photos FileInputStream srcStrm = new FileInputStream ( SRCFILE ) ; FileOutputStream dstStrm = new FileOutputStream ( dstfile ) ; 8 Créer un tableau d'octets pour stocker des données : byte [] buf = new byte [ 4096 ] ; 9 lire le flux 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 ; while (( len = srcStrm.read ( buf ) ) > 0) { dstStrm.write ( buf, 0 , len );} 10 Fermer les flux de fichiers : srcStrm.close () ; dstStrm . close () ;
|