So kopieren Sie eine Datei in Jsp
Java bietet keinen ordentlichen und hübschen Einzeiler zum Kopieren von Dateien. Allerdings machen Java Datei ein-/ Ausgabe (e/a) Klassen es relativ einfach, eigene Funktionen Kopieren von Dateien zu schreiben. Einstieg durch schreiben die Datei Kopierfunktion wie das Scriptlet-Code direkt in Ihre Seite Java ServerPages (JSP).
Anweisungen
Die Grundlagen und die Catch-Klausel
1 Importieren Sie die Java-Klassen, die Sie benötigen zum Lesen und Schreiben von Dateien mithilfe der Page-Direktive in der JSP-Seite:
< % bei Seite import=\"java.io.*\" % >
2 Erstellen Sie einen Try-Catch-Block in der JSP-Seite, IOException behandeln:
< %versuchen Sie {}Catch (IOException ex) {}% >
3 Behandeln Sie IOException Fehler innerhalb der Catch-Klausel für die JSP-Seite ordnungsgemäß fehlschlägt nach Bedarf. Die Ausnahmemeldung in grellen Farben in die JSP-Seite zu drucken, Ausbruch aus des Scriptlet-Codes:
catch (IOException ex) {% >< stark Stil = "Farbe: rot; Hintergrund-Farbe: Gold; " >< % = ex.getMessage() % >< / strong >< %}
Der Try-Block
4 Öffnen Sie die Quelldatei (die Datei, die Sie kopieren möchten) und Ziel (wo die Kopie geschrieben wird) Datei innerhalb des Try-Blocks. SrcFileName und DstFileName sind String-Variable den Pfad und Namen jeder Datei mit:
Datei SrcFile = neue File(srcFileName)GEHENDatei DstFile = neue File(dstFileName);
5 Überprüfen Sie, ob die Quelldatei vorhanden und eine IOException zu werfen, wenn es nicht:
Wenn (! srcFile.exists()) {}neue IOException ausgelöst (\"No-Quelldatei: \"+ SrcFileName)GEHEN}
6 Überprüfen Sie, ob die Zieldatei existiert und beschreibbar ist. Werfen Sie eine IOException, wenn es nicht ist:
Wenn (dstFile.exists()) {}Wenn (! dstFile.canWrite()) {}
throw new IOException(\"Destination read-only: \" + dstFileName)
GEHEN}}Else {}neue IOException ausgelöst (\"Destination nicht erstellt: \"+ DstFileName)GEHEN}
7 Offene Quelle und Ziel-Dateistreams:
FileInputStream SrcStrm = neue FileInputStream(srcFile)GEHENFileOutputStream DstStrm = neue FileOutputStream(dstFile);
8 Erstellen Sie ein Byte-Array zum Speichern von Daten:
Byte [] Buf = newbyte [4096];
9 Der Quellstream Lese- und Schreibzugriff auf den Zielstream in einer While-Schleife, die wird fortgesetzt, bis alle Daten aus der Quelldatei gelesen wurden:
Int lenGEHENwährend ((Len = srcStrm.read(buf)) > 0) {}dstStrm.write (Buf, 0, Len)GEHEN}
10 Schließen Sie die Dateistreams:
srcStrm.close()GEHENdstStrm.close();
Tipps & Warnungen
- Indem wir nehmen Sie es auf die nächste Stufe Ihrer Datei kopieren Funktionalität einer JavaBean oder benutzerdefinierte Tag-Handler-Klasse. Erstellen Sie ein benutzerdefiniertes Tag, das die Quelle und Ziel-Dateien als Parameter annimmt. Diese Praxis macht Ihre Datei Kopiermethode wiederverwendbare und halten Sie Ihre JSP-Seite frei von unnötigen Scriptlet-Code.
- Behandeln Sie alle Ausnahmen. Unbehandelte Ausnahmen können Ihre Website-Besucher sehen Seiten hässlich Java-Fehlermeldungen führen.
- Denken Sie daran, JSP-Seiten serverseitige Anwendungen, so ist die Quelle und Ziel Ihrer Kopie der Datei auf dem Webserver.