Java não oferece uma elegante e bonita de uma linha para copiar arquivos . No entanto, o arquivo de entrada e saída de Java ( I /O) aulas de torná-lo bastante fácil de escrever a sua própria funcionalidade de cópia de arquivos. Comece a escrever a funcionalidade de cópia de arquivos como código scriptlet diretamente em seu Java ServerPages (JSP) página . Instruções
Os princípios e Capturas Cláusula
1
Import as classes Java que você precisa para ler e escrever arquivos usando a diretiva de página em sua página JSP :
<% @ page import = " java.io. * " %>
2
Crie um bloco try-catch em sua página JSP para lidar com IOException :
<% try { } catch ( IOException ex) { }% >
3
Manipular erros IOException dentro da cláusula catch , conforme necessário para a página JSP a falhar graciosamente. Imprimir a mensagem de exceção em cores gritantes na página JSP por romper o código scriptlet :
catch ( IOException ex) { %> < estilo forte = " color: red; background-color: ouro ; "> < % = ex.getMessage ()%> <% }
o bloco try
4
Abra o arquivo de origem (o arquivo que você deseja copiar ) eo arquivo de destino ( onde a cópia será gravado em ) dentro do bloco try . SrcFileName e dstFileName são variáveis String contendo o caminho eo nome de cada arquivo :
Arquivo arqFonte = new File ( srcFileName ); Arquivo dstFile = new File ( dstFileName );
5
Verifique se o arquivo de origem existe e lançar uma IOException se isso não acontecer :
if ( srcFile.exists ( !)) { throw new IOException ("No arquivo de origem :" + srcFileName );} < br >
6
Verifique se o arquivo de destino existe e é gravável. Lançar uma IOException se não é :
se dstFile.exists ( ()) {if { throw new IOException ( "Destination somente leitura :" + dstFileName ) ( dstFile.canWrite ( !)) ;} córregos }
7
de código aberto e de arquivo destino; : } else { throw new IOException (+ dstFileName " destino não criou" ) :
FileInputStream srcStrm = new FileInputStream ( arqFonte ); FileOutputStream dstStrm = new FileOutputStream ( dstFile );
8
Criar uma matriz de bytes para armazenar dados :
byte [] buf = new byte [ 4096 ];
9
Leia a partir do fluxo de origem e gravar o fluxo de destino em um loop while que continua até que todos os dados foram lidos a partir do arquivo de origem:
int len ; while (( len = srcStrm.read ( buf ) ) > 0) { dstStrm.write ( buf , 0, len) ;}
10
Feche os fluxos de arquivo :
srcStrm.close (); dstStrm . close () ;