IV-1. Einführende Erklärungen
IV-1-4. Datei speichern
Grundsätzliche Informationen zu Dateioperationen in Java finden
Sie in java-io.htm.
Beim Umgang mit der Upload-Datei muss auf der Server-Seite
zwischen zwei Pfaden unterschieden werden:
- Dateipfad bezogen auf die Webserver-Root und
- Dateipfad bezogen auf das Server-Dateisystem.
Ersterer wird zum Beispiel benötigt, wenn das Ergebnis alsBilddatei in eine HTML-Seite eingebettet werden soll.
Zweiterer wird benötigt, um die Datei auf der Server-Seite zuspeichern.
Die Umwandlung von Ersterem in den Zweiten erfolgt mit getServletContext().getRealPath().Unter Windows werden dabei auch die Schrägstriche '/' durchBackslashes '\' ersetzt. Die Speicherung erfolgt bei Binärdaten als FileOutputStream(),wie der folgende Code-Ausschnitt zeigt:
// Different file pathes for HTML and for storing:String sFilePathAndNameHtml = sUploadDir + sFileName;String sFilePathAndNameStore
= getServletContext().getRealPath( sFilePathAndNameHtml );
// Store file:
BufferedInputStream is = null;
BufferedOutputStream os = null;
try {
is = new BufferedInputStream( inputStreamFromParser );
os = new BufferedOutputStream(
new FileOutputStream( sFilePathAndNameStore ) );
byte[] buff = new byte[8192];
int len;
while( 0 < (len = is.read( buff )) )
os.write( buff, 0, len );
} finally {
if( is != null )
is.close();
if( os != null ) {
os.flush();
os.close();
}
}
|
|