So kopieren Sie eine Datei in Jsp

May 19

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(\&quot;Destination read-only: \&quot; + 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.