Disciplina: TI - Desenvolvimento de Sistemas
Banca: CESPE / CEBRASPE
Orgão: DATAPREV
public static void copiar(String origem,
String destino) {
File arqOrigem = new File(origem);
File arqDestino = new File(destino);
FileInputStream fis = null;
FileOutputStream fos = null;
int tam = (int)arqOrigem.length();
byte[] buffer = new byte[tam];
try {
fis = new FileInputStream(arqOrigem);
fos = new FileOutputStream(arqDestino);
int num = 0;
while(num < tam)
num += fis.read(buffer,num,tam - num);
fos.write(buffer,0,tam);
}
catch (IOException exp) {
System.out.println(exp.getMessage());
}
finally {
try {
if (fis != null)
fis.close ();
if (fos != null)
fos.close ();
}
catch (IOException exp) {
System.out.println(exp.getMessage());
}
}
}
Julgue os itens subseqüentes acerca do código acima, escrito em Java.
Há um erro no código, pois há um bloco try dentro de um bloco finally. As instruções no bloco associado à palavra finally somente são executadas se não for executado o bloco catch que o antecede.