Java Kopieer biedt niet een nette en mooie one- liner voor het kopiëren van bestanden . Echter , file input-output ( I /O ) klassen Java's maken het vrij eenvoudig om uw eigen bestand te kopiëren functionaliteit te schrijven . Aan de slag met het schrijven van het bestand kopiëren functionaliteit als scriptlet code rechtstreeks in je Java ServerPages ( JSP ) pagina . Instructies De Basis en Catch Clausule Import 1 de Java-klassen die je nodig hebt voor het lezen en schrijven van bestanden met behulp van de pagina -richtlijn in uw JSP-pagina : < % @ page import = " java.io. * " % > 2 Maak een try-catch blok in uw JSP-pagina te IOException hanteren : < % try { } catch ( IOException ex ) { } % > 3 Handle IOException fouten in de clausule vangst als nodig is voor de JSP-pagina om elegant mislukken . Print uitzondering bericht schitteren kleuren in de JSP-pagina door te breken uit de scriptlet code : catch ( IOException ex ) { % > < strong style = " color: red ; achtergrond - kleur : goud ; " > < % = ex.getMessage ( ) % > < /strong > < % } de Try Block 4 Open het bronbestand ( het bestand dat u wilt kopiëren ) en het doelbestand ( waar de kopie wordt geschreven naar ) binnen het try - blok . SrcFileName en dstFileName zijn stringvariabelen met het pad en de bestandsnaam van elk bestand : File srcfile = new File ( srcFileName ) ; File dstFile = new File ( dstFileName ) ; 5 controleer of het bronbestand bestaat , en gooi een IO probleem als het niet : if ( srcFile.exists ( ) ! ) { throw new IOException ( " No bronbestand : " + srcFileName ) ; } < br > Controleer 6 dat de bestemming bestand bestaat en is beschrijfbaar . Gooi een IOException als het niet : if ( dstFile.exists ( ) ) {if { throw new IOException ( " Destination alleen-lezen : " + dstFileName ) ( dstFile.canWrite ( ) ! ) ; } } else { throw new IOException ( " bestemming niet aangemaakt : " + dstFileName ) ; } Open source 7 en doelbestand streams : FileInputStream srcStrm = new FileInputStream ( srcfile ) ; FileOutputStream dstStrm = new FileOutputStream ( dstFile ) ; 8 Maak een byte array om data op te slaan : byte [ ] buf = new byte [ 4096 ] ; 9 Lees vanaf de bron stroom en schrijven naar de bestemming stroom in een while-lus die gaat door tot alle gegevens zijn gelezen uit het bronbestand : int len , terwijl ( ( len = srcStrm.read ( buf ) ) > 0 ) { dstStrm.write ( buf , 0 , len ) ; } 10 Sluit het bestand streams : srcStrm.close ( ) op ; dstStrm . close ( ) ;
|