Mesmo com permissao total na pasta , o servlet nao exclui o arquivo danfes.pdf.
File file = new File(cnpjEmpresa+"/danfes.pdf");
File xmls = new File(cnpjEmpresa);
File[] files = xmls.listFiles();
OutputStream outPdf = new FileOutputStream(file);
List<JasperPrint> jasperList = new ArrayList<JasperPrint>();
for (int i = 0 ; i < files.length ; i ++){
JasperPrint danfe = null;
if(files[i].getName().contains(".XML")||files[i].getName().contains(".xml")){
danfe = new PreDanfeReport().retornarRelatorio(Ambiente.H, null, files[i] , 100);
jasperList.add(danfe);
files[i].delete();
}
}
JRPdfExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperList);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, outPdf);
exporter.exportReport();
byte[] fileBArray = new byte[(int)file.length()];
FileInputStream fis = new FileInputStream(file);
fis.read(fileBArray);
OutputStream rout = response.getOutputStream();
response.setContentType("application/pdf");
response.setContentLength(fileBArray.length);
rout.write(fileBArray);
session.invalidate();
file.delete();
xmls.delete();
fis =null;
file = null;
fileBArray = null;
System.gc();
rout.flush();
rout.close();
O arquivo danfes.pdf fica preso na JVM, se eu uso um exitonclose() por exemplo , ao parar o servidor ele e excluido.
Atenciosamente