Java nicht bieten eine saubere und hübsche Einzeiler zum Kopieren von Dateien . Allerdings machen die Java -Datei Input-Output (I /O )-Klassen es ziemlich einfach, Eigene Dateien Kopieren Funktionalität schreiben. Indem Sie die Datei Kopie Funktionalität wie scriptlet Code direkt in Ihre Java ServerPages (JSP) Seite loszulegen. Anleitung
Die Grundlagen und Catch-Klausel
1
Import Sie die Java-Klassen zum Lesen und Schreiben von Dateien mit dem Page-Direktive in Ihrer JSP-Seite brauchen werden :
< % @ page import = " java.io. * " %>
2
erstellen try-catch- Block in Ihrer JSP-Seite zu verarbeiten IOException :
< % try { } catch ( IOException ex) { } %>
3
Griff IOException Fehler innerhalb der catch-Klausel wie für die JSP-Seite , anmutig scheitern benötigt. Drucken Sie die Ausnahme Nachricht in grellen Farben in der JSP-Seite durch Ausbrechen des scriptlet Code :
catch ( IOException ex) { %> < % = ex.getMessage ()% > < %}
try-Block
4
Öffnen Sie die Quelldatei (die Datei, die Sie kopieren möchten ) und die Ziel- Datei (wobei die Kopie geschrieben werden ) innerhalb des try - Block . SrcFileName und dstFileName sind String-Variablen , die den Pfad und den Dateinamen für jede Datei :
Datei srcfile = new File ( srcFileName ); Datei dstfile = new File ( dstFileName );
5
Überprüfen Sie , dass die Quelle vorhanden ist, und werfen eine IOException , wenn dies nicht der Fall :
if ( srcFile.exists () ) { throw new IOException ("No -Quelle: " + srcFileName );}
Seite 6
überprüfen Sie, ob die Zieldatei existiert und beschreibbar ist . Wirf einen IOException , wenn es nicht :
if ( dstFile.exists () ) {if { throw new IOException ( "Destination nur gelesen :" + dstFileName ) ( dstFile.canWrite ( !)) ;} } else { throw new IOException ( "Destination nicht erstellt :" + dstFileName );}
7
Open-Source- und Destination -Datei -Streams :
FileInputStream srcStrm = new FileInputStream ( srcfile ); FileOutputStream dstStrm = new FileOutputStream ( dstfile );
8
erstellen ein Byte-Array zum Speichern von Daten :
byte [] buf = new byte [ 4096 ] ;
9
von der Quelle Strom lesen und Schreiben in den Zieldatenstrom in einer while-Schleife, bis alle Daten aus der Quelldatei gelesen wurden weiter:
int len ; while (( len = srcStrm.read ( buf) ) > 0) { dstStrm.write ( buf , 0 , len );}
10
Schließen Sie die Datei-Streams :
srcStrm.close (); dstStrm . close () ;