Java tilbyr ikke en ryddig og pen one-liner for kopiering av filer . Men Javas fil input-output (I /O ) klasser gjør det ganske enkelt å skrive din egen fil kopiering funksjonalitet. Kom i gang ved å skrive filkopiering funksjonalitet som skriptlet koden direkte i din Java ServerPages ( JSP ) side . Instruksjoner
Grunnleggende og Catch punkt
en
Import Java-klasser du trenger for å lese og skrive filer ved hjelp av siden direktivet i JSP side :
< % @ page import = " java.io. *" %>
2
Opprett en try-catch- blokken i JSP side å håndtere IOException : en
< % try { } catch ( IOException ex ) { } % >
3
Handle IOException feil inne i fangsten klausul som trengs for JSP-siden til å mislykkes grasiøst. Skriv ut unntak melding i grell farger inn i JSP side ved å bryte ut av skriptlet kode :
fangst ( IOException ex ) { %> < strong style = "color: red ; background- color: gull ; "> < % = ex.getMessage ( ) %> < /strong > < %}
try Block
4
Åpne kildefilen (filen du ønsker å kopiere) og målfilen (hvor kopien vil bli skrevet til ) inne i try - blokken . SrcFileName og dstFileName er strengvariabler inneholder banen og filnavnet for hver fil : en
File srcFile = new File ( srcFileName ) ; File dstFile = new File ( dstFileName ) ;
5
Sjekk at kilden filen finnes , og kaste en IOException hvis den ikke gjør det : en
hvis ( srcFile.exists ( ) ! ) { throw new IOException ("No kilde fil:" + srcFileName ) ;}
6
Kontroller at målfilen eksisterer og er skrivbar. Kast en IOException hvis det ikke er : en
if ( dstFile.exists () ) {if { throw new IOException ( "Destination skrivebeskyttet : " + dstFileName ) ( dstFile.canWrite ( !) ); } } else { throw new IOException ( "Destination ikke opprettet: " + dstFileName ) ;}
7
Åpen kildekode og målfilen bekker : en
FileInputStream srcStrm = new FileInputStream ( srcFile ); FileOutputStream dstStrm = new FileOutputStream ( dstFile ) ;
8
Lag en byte array til å holde data : en
byte [ ] buf = new byte [ 4096 ];
9
Les fra kilden stream og skrive til bestemmelsesstedet stream på en stund loop som fortsetter til alle dataene er lest fra kildefilen : en
int len , mens ( (len = srcStrm.read ( BUF) ) > 0 ) { dstStrm.write ( buf , 0 , len ) ;}
10
lukke filen bekker :
srcStrm.close ( ) ; dstStrm . lukke ();