Java ikke tilbyder en pæn og smuk one-liner for kopiering af filer . Men Javas fil input-output ( I /O) klasser gør det forholdsvis let at skrive din egen filkopiering funktionalitet. Kom i gang ved at skrive filkopiering funktionalitet som scriptlet kode direkte i din Java ServerPages ( JSP) side . Instruktioner
Grundlæggende og fange §
1
Importer Java-klasser , du skal bruge til læsning og skrivning af filer via siden direktivet i din JSP side
< % @ page import = " java.io. * "% >
2
Opret en try- catch-blok i din JSP side til at håndtere IOException : Hej
<% try { } catch ( IOException ex ) { } %>
3
Handle IOException fejl inde i fangsten klausul , som er nødvendige for, JSP side til at mislykkes med ynde. Udskriv undtagelsen besked i skærende farver ind i JSP-siden ved at bryde ud af scriptlet kode : Hej
catch ( IOException ex ) { % > < strong style = " color: red ; background- color : gold ; "> <% = ex.getMessage () %> <% }
Try Block
4
Åbn kildefilen ( den fil, du vil kopiere ) og destination fil ( hvor kopien skal skrives til) inde i try- blokken. SrcFileName og dstFileName er string variabler , der indeholder stien og filnavnet på hver fil : Hej
File srcFile = new File ( srcFileName ) File dstFile = new File ( dstFileName )
5
Kontroller , at kilden filen findes , og smide en IOException hvis det ikke : Hej
hvis ( srcFile.exists ( !) ) { kaste nyt IOException ( "Ingen kildefilen :" + srcFileName );} < br >
6
Kontroller , at destinationen filen eksisterer og er skrivbar. Kast en IOException hvis det ikke er : Hej
if ( dstFile.exists () ) {if { kaste nyt IOException ( "Destination read-only :" + dstFileName ) ( dstFile.canWrite ( !) );} } else { kaste nyt IOException ( "Destination ikke oprettet :" + dstFileName );}
7
Open source og destination fil streams : Hej
FileInputStream srcStrm = new FileInputStream ( srcFile ) ; FileOutputStream dstStrm = new FileOutputStream ( dstFile )
8
Opret en byte array til at holde data : Hej
byte [ ] buf = new byte [ 4096 ] ;
9
Læs fra kilden stream og skrive til destinationen stream i en while-løkke , der fortsætter, indtil alle data er læst fra kildefilen : Hej
int len , mens ( (len = srcStrm.read ( bUF) ) > 0) { dstStrm.write (BUF , 0, len );}
10
lukke filen streams :
srcStrm.close () ; dstStrm . close ();